I have bought a USB GSM modem from RF online a UK distributor of several RF products.
This interesting GSM modem is manufactured by Hametech, a Shenzen based company.
It is a very interesting module and the software drivers are included in the disk partition.
Most importantly it is supported by the linux kernel
Now guess what?
On my latest Kubuntu 10.04 LTS it doesn’t work, so this is what I did to solve the problem.
This is my configuration:
[ 5897.040178] usb 1-5.2: reset full speed USB device using ehci_hcd and address 5
[ 5897.219533] usb 1-5.2: read over firmware interface failed: -32
[ 5897.308179] usb 1-5.2: reset full speed USB device using ehci_hcd and address 5
[ 5897.486935] zd1211rw: probe of 1-5.2:1.0 failed with error -32
[ 5897.486976] usbcore: registered new interface driver zd1211rw
[ 5897.538779] Initializing USB Mass Storage driver…
[ 5897.538923] scsi6 : SCSI emulation for USB Mass Storage devices
[ 5897.539113] usbcore: registered new interface driver usb-storage
[ 5897.539117] USB Mass Storage support registered.
[ 5897.553850] usb-storage: device found at 5
[ 5897.553854] usb-storage: waiting for device to settle before scanning
[ 5902.552777] usb-storage: device scan complete
[ 5902.553591] scsi 6:0:0:0: CD-ROM Philips Dev. 0 LUN 0 1.0 PQ: 0 ANSI: 0
[ 5902.562622] sr1: scsi-1 drive
[ 5902.563827] sr 6:0:0:0: Attached scsi CD-ROM sr1
[ 5902.564303] sr 6:0:0:0: Attached scsi generic sg2 type 5
So as you can see the kernel only recognizes the usb-storage function but not the usb-serial interface!
So we know that the vendor id is 0×0471 and the product id is 0×1237.
Now you can try to load manually the usbserial module with that ID:
However this doesn’t work because the usb gsm modem requires a special string that will enable the serial connection BEFORE the module is loaded!
Draisberghof spent a considerable time eavesdropping at windows drivers of such devices and wrote an interesting script USB_ModeSwitch which takes the important parameters from a configuration file and does all the initialization and communication stuff for you.
The tool is already in the official repositories so to install just type:
sudo apt-get install usb_modeswitch
After the installation if you just type:
The program will tell you that the /etc/usb-modeswitch.conf is not present.
So we need to tell him which device is actually connected into the usb port, there is a list of ready-made configuration files in:
So we only need to copy our device’s configuration:
sudo cp 0471\:1237 /etc/usb-modeswitch.conf
Then we try to run it again and surprise surprise:
USB description data (for identification)————————-Manufacturer: NXP SemiconductorsProduct: Reference Design Dragonfly PlatformSerial No.: 354972-03-100562————————-Setting up communication with interface 0 …Trying to send the message to endpoint 0×03 …OK, message successfully sent-> Run lsusb to note any changes. Bye.
baudrate 460800 8N1hardware flow control NOsoftware flow control NO