3G connection through a SIM5360E - rmmod usbserial not working
-
Hi All,
I have been playing with a SIM5360E development board. With SMS, GPS and a 3G functionality, it would be massively cool if we could get one of these working on the Onion.. It has a USB connection that presents as serial ports to the host but I am having trouble getting the serial ports to work..!
I have the documentation on the manufacturers Linux drivers here:
http://www.microchip.ua/simcom/WCDMA/APPNOTES/SIMCom_3G_Linux_driver_Application Note_V1.00.pdfAnd the open WRT web page here:
https://wiki.openwrt.org/doc/recipes/3gdongleIt says I need to put the vendor ID and product ID into the USB serial driver but I need to unload the driver first.. - So here is the problem:
root@Omega-1F15:/# rmmod usbserial unloading the module failed
I have also found that someone else has the problem on open WRT, to which they say, "The whole usb subsystem is totally broken. Try rc6 or even earlier images." in the second post down here:
My question is - how can I get around his so that it recognises the serial USB ports and is the USB subsystem really broken? I have done a complete reset of the whole operating system back to factory defaults and upgraded to the latest version.
Any thoughts?
-
@TheLion Sounds like a cool project!
I wouldn't say the USB subsystem is broken... We've actually been able to control another Omega that was connected to the Host USB port using
screen
Is there a way to use the dongle without modifying the drivers? Also, the application note is about three years old, have you checked that maybe the drivers have already been updated?
-
@Lazar Demin - Thanks for your reply - I didn't think that would be the case that the whole USB sub system was broken some how..
OK, so I have plugged it into a windows machine and there are three ports that come up. One for AT commands, one for NMEA - the GPS and one diagnostic port. They all show as serial ports, "Sim Tech HS-USB"
I have done some further investigating.. I am using a USB, powered hub with the root file system on a USB memory key. This works fine. Before I plug in the 3G module (which is a PCB with the surface mounted SIM5360 on it) it shows the following tty ports:
root@Omega-1F15:/# ls -lha /dev/tty* crw-r--r-- 1 root root 5, 0 Jan 1 1970 /dev/tty crw-r--r-- 1 root root 254, 0 Apr 19 20:18 /dev/ttyATH0 crw-r--r-- 1 root root 4, 64 Jan 1 1970 /dev/ttyS0
Then I plug in the USB SIMCOM module and I see
root@Omega-1F15:/# [ 84.330000] usb 1-1.1: new high-speed USB device number 4 using ehci-platform
BUT when I then look at the serial ports again - no new ports are added.
I had a look at the driver information and it seems to be the current version. I downloaded the original from the SIMCOM website and they say that the usbserial driver should work, but in the case that it doesn't.. The vendor and product ID's need to be added to it. Not being massively good with Linux, maybe I am missing something.
I have had the AT commands working on the windows machine.
Here is the demsg output for USB:
root@Omega-1F15:/# dmesg | grep -i usb [ 5.890000] usbcore: registered new interface driver usbfs [ 5.890000] usbcore: registered new interface driver hub [ 5.900000] usbcore: registered new device driver usb [ 5.970000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.980000] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1 [ 6.020000] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00 [ 6.020000] hub 1-0:1.0: USB hub found [ 6.040000] usbcore: registered new interface driver usb-storage [ 6.350000] usb 1-1: new high-speed USB device number 2 using ehci-platform [ 6.500000] hub 1-1:1.0: USB hub found [ 6.800000] usb 1-1.3: new high-speed USB device number 3 using ehci-platform [ 7.290000] usb-storage 1-1.3:1.0: USB Mass Storage device detected [ 7.290000] scsi host0: usb-storage 1-1.3:1.0 [ 18.190000] usbcore: registered new interface driver btusb [ 18.200000] usbcore: registered new interface driver cdc_acm [ 18.200000] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters [ 18.360000] usbcore: registered new interface driver ums-alauda [ 18.370000] usbcore: registered new interface driver ums-cypress [ 18.370000] usbcore: registered new interface driver ums-datafab [ 18.380000] usbcore: registered new interface driver ums-freecom [ 18.390000] usbcore: registered new interface driver ums-isd200 [ 18.400000] usbcore: registered new interface driver ums-jumpshot [ 18.410000] usbcore: registered new interface driver ums-karma [ 18.420000] usbcore: registered new interface driver ums-sddr09 [ 18.420000] usbcore: registered new interface driver ums-sddr55 [ 18.430000] usbcore: registered new interface driver ums-usbat [ 18.440000] usbcore: registered new interface driver usbhid [ 18.450000] usbhid: USB HID core driver [ 18.460000] usbcore: registered new interface driver usblp [ 18.470000] usbcore: registered new interface driver usbserial [ 18.480000] usbcore: registered new interface driver usbserial_generic [ 18.480000] usbserial: USB Serial support registered for generic [ 18.500000] usbcore: registered new interface driver uvcvideo [ 18.500000] USB Video Class driver (1.1.1) [ 18.610000] usbcore: registered new interface driver ch341 [ 18.610000] usbserial: USB Serial support registered for ch341-uart [ 18.620000] usbcore: registered new interface driver cp210x [ 18.630000] usbserial: USB Serial support registered for cp210x [ 18.630000] usbcore: registered new interface driver ftdi_sio [ 18.640000] usbserial: USB Serial support registered for FTDI USB Serial Device [ 18.740000] usbcore: registered new interface driver pl2303 [ 18.750000] usbserial: USB Serial support registered for pl2303 [ 18.790000] usbcore: registered new interface driver snd-usb-audio [ 84.330000] usb 1-1.1: new high-speed USB device number 4 using ehci-platform root@Omega-1F15:/#
The last line was where I connected the SIMCOM device.
I am convinced that the vendor and product ID's of the module need to be added to the usbserial driver but not sure how I go about doing this.
Hey - thanks for your help..!
Here is the list of ports from the windows machine.
-
Ahh - I have found the answer..
Instead of unloading the module, modifying it and loading it back in - all I had to do for the Omega (sorry called it an onion earlier) was to add the following to /etc/modules.d/usb-serial
usbserial vendor=0x05c6 product=0x9000 maxSize=2048
This permanently adds the product and vendor ID's and they now get loaded on boot. I bet that this is a solution for many USB to serial devices. Learn something new every day.!
Now when I look in /dev I see the following:
root@Omega-1F15:/dev# ls tty* tty ttyATH0 ttyS0 ttyUSB0 ttyUSB1 ttyUSB2 ttyUSB3 ttyUSB4 root@Omega-1F15:/dev#