Linux and hametech USB GSM module from RF online
January 16th, 2011I 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 until version 2.4.32.
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:
Linux epokh-quad 2.6.32-27-generic #49-Ubuntu SMP Wed Dec 1 23:52:12 UTC 2010 i686 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid
[ 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!
Bus 007 Device 003: ID 0471:1237 Philips TalkTalk SNU5630NS/05 802.11bg
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:
usbserial vendor=0×0471 product=0×1237
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:
sudo usb_modeswitch
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:
cd /etc/usb_modeswitch.d/
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
ATZOKATE0OKY



























