Vodafone Mobile Connect 3G/GPRS in Ubuntu Linux
From Wikipedia, the free encyclopedia
Linux is the name of a computer operating system and its kernel. It is the most famous example of free software and of open-source development.
The name Linux strictly refers only to the Linux kernel, but it is commonly used to describe entire Unix-like operating systems (also known as GNU/Linux) that are based on the Linux kernel and libraries and tools from the GNU project. Linux distributions typically bundle large quantities of software with the operating system.
-
The main article for this category is Vodafone Mobile Connect 3G/GPRS in Ubuntu Linux.
Vodafone is multi-national mobile phone operator.
For details about the group, please see Vodafone Group. For details about the companies in the group, be it subsidiaries, associates, or partners, please see the individual articles listed below. Abstract:
How to convince Linux to treat the Fusion UMTS Quad-GPRS. [1] a es a USB serial device, ready to be used with either a terminal program using AT commands, or maybe using a PPP application (like wvdial [2]) to establish an internet connection in linux.
My platform:
# uname -a Linux xxxxx 2.6.12-9-386 #1 Mon Oct 10 13:14:36 BST 2005 i686 GNU/Linux
Before you try my method
Make sure you have a working Linux system with pcmcia, cardmanager, modules, etc, - yes - all the essentials i wont mention on how to setup.
How did I make it work?
Thanks to these two lovely sites, i established a procedure on how to get the darn thing working: [3], [4].
First, boot your system without the card inserted. This might not make any difference but one of the above links recommends not having the card plugged in during boot. Plug in your card into a pcmcia slot. Look at the system logfile (/var/log/syslog) or use dmesg (/sbin/dmesg) to see if the card is found. It should be detected as a new USB unit:
# dmesg | tail -18 [4311511.400000] ohci_hcd: 2004 Nov 08 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI) [4311511.401000] PCI: Enabling device 0000:04:00.0 (0000 -> 0002) [4311511.401000] ACPI: PCI Interrupt 0000:04:00.0[A] -> GSI 19 (level, low) -> IRQ 19 [4311511.401000] PCI: Setting latency timer of device 0000:04:00.0 to 64 [4311511.401000] ohci_hcd 0000:04:00.0: NEC Corporation USB [4311511.402000] ohci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 6 [4311511.403000] ohci_hcd 0000:04:00.0: irq 19, io mem 0x20800000 [4311511.485000] hub 6-0:1.0: USB hub found [4311511.485000] hub 6-0:1.0: 1 port detected [4311511.516000] PCI: Enabling device 0000:04:00.1 (0000 -> 0002) [4311511.516000] ACPI: PCI Interrupt 0000:04:00.1[B] -> GSI 19 (level, low) -> IRQ 19 [4311511.516000] PCI: Setting latency timer of device 0000:04:00.1 to 64 [4311511.516000] ohci_hcd 0000:04:00.1: NEC Corporation USB (#2) [4311511.517000] ohci_hcd 0000:04:00.1: new USB bus registered, assigned bus number 7 [4311511.517000] ohci_hcd 0000:04:00.1: irq 19, io mem 0x20801000 [4311511.599000] hub 7-0:1.0: USB hub found [4311511.599000] hub 7-0:1.0: 1 port detected [4311513.057000] usb 7-1: new full speed USB device using ohci_hcd and address 2
Now check for its vendor and product "ID" in the file /proc/bus/usb/devices. Mine looks like this:
# head -10 /proc/bus/usb/devices T: Bus=07 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 1 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.06''' <--- ** Success! ** S: Manufacturer=Linux 2.6.12-9-386 ohci_hcd S: Product=NEC Corporation USB (#2) S: SerialNumber=0000:04:00.1 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
The success tag indicates what line you are looking for. Now load a moduled named, serial_cs and the values in /proc/bus/usb/devices for loading the usbserial module. Append "0x" to the beginning of both values, as they are hexadecimal.
# modprobe serial_cs # modprobe usbserial vendor=0x0af0 product=0x6300 # dmesg | tail -10 [4311901.015000] usbcore: registered new driver usbserial [4311901.018000] drivers/usb/serial/usb-serial.c: USB Serial support registered for Generic [4311901.025000] usbserial_generic 7-1:1.0: Generic converter detected [4311901.030000] usb 7-1: Generic converter now attached to ttyUSB0 [4311901.030000] usbserial_generic 7-1:1.1: Generic converter detected [4311901.035000] usb 7-1: Generic converter now attached to ttyUSB1 [4311901.035000] usbserial_generic 7-1:1.2: Generic converter detected [4311901.038000] usb 7-1: Generic converter now attached to ttyUSB2 [4311901.038000] usbcore: registered new driver usbserial_generic [4311901.038000] drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
Yahoo! Test /dev/ttyUSB0 with minicom, or any other terminal program with bps=230400 and default bits/par/stopbits=8N1 settings. Change the modeminit string to just ATZ, and try making some AT commands. It should be able to process your commands, and echo the results back.
Anyone for sending an SMS? That'd be keen! Let us try!
AT+CPIN="0123" OK AT+CMGF=1 OK AT+CMGS=”0709102030” > Hello there! I'm using an old fashion terminal program > to send you this fancy IT-age sms! <ctrl-z> +CMGS: 0
It works for me, now let's hope this Wiki can be of help to someone else out there.
// Murdoc.l (Sweden, Kalmar.)