 USB 3G UMTS HSDPA modem HUAWEI E220 - Aktivacny program. (10.12.2006 Bbo, bobovsky@kanoistika.sk)
 linux driver 
 BEZ drivra povie toto:
cat /proc/bus/usb/devices
T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1003 Rev= 0.00
S:  Manufacturer=HUAWEI Technologies
S:  Product=HUAWEI Mobile
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=83(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

Problem je ze na uvod sa to tvari ako usb cdromka !
usbserial sa da pouzit ale ak ho znasilnime tak vyrobi len jeden USB0 a to nefunkcny !
Ak ale prepneme modem do "ready" stavu bude aj usb aj cdrom a vypis vyzera:

download : http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo-i386.out
./huaweiAktBbo-i386.out 

root@LKG70A002:~# uname -a
Linux LKG70A002 2.6.12.2 #1 Tue Sep 27 20:21:18 CDT 2005 armv5teb unknown
root@LKG70A002:~# cat /etc/modules
usbserial vendor=0x12d1 product=0x1003
..
root@LKG70A002:~# cat /proc/bus/usb/devices
T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1003 Rev= 0.00
S:  Manufacturer=HUAWEI Technologies
S:  Product=HUAWEI Mobile
C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=128ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E:  Ad=85(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:  If#= 2 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=83(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

a to dosiehanes "prepninacim programom" ktory si ziskal okukanim cez usbsnoop a usbsnoopPro z Wokien.

--
potom uz mas /dev/ttyUSB0 /dev/ttyUSB1 a fungujes ako iny bezny modem !
(na usb0 bezi modem a na usb1 vies davat at prikazy ako sila signalu,sms atd)
teda uz bezne ppp kppp wvdial atd


----
Rychlosti (speed meter):
Ak ide pomaly 
Mozno pomoze patchnut usbserial aby maxSize=2048
usbserial vendor=0x0af0 product=0x6600 maxSize=2048 ( toto bolo pre Option Globesurfer

Mne ide
HUAWEI:
9034769 byt za 46s na nsl wgetom downl= 1,57Mbps
alebo obcas aj za 33s teda 2,2Mbit


usbserial patch pre speed:

--- usb-serial.c        2005-03-01 23:38:37.000000000 -0800
+++ usb-serial-v620.c   2005-07-22 10:09:59.000000000 -0700
@@ -361,6 +361,7 @@
    drivers depend on it.
 */

+static ushort maxSize = 0;
 static int debug;
 static struct usb_serial *serial_table[SERIAL_TTY_MINORS];     /* initially all NULL */
 static LIST_HEAD(usb_serial_driver_list);
@@ -1060,7 +1061,7 @@
                        dev_err(&interface->dev, "No free urbs available\n");
                        goto probe_error;
                }
-               buffer_size = le16_to_cpu(endpoint->wMaxPacketSize);
+               buffer_size = (endpoint->wMaxPacketSize > maxSize)?endpoint->wMaxPacketSize:maxSize;
                port->bulk_in_size = buffer_size;
                port->bulk_in_endpointAddress = endpoint->bEndpointAddress;
                port->bulk_in_buffer = kmalloc (buffer_size, GFP_KERNEL);
@@ -1433,3 +1434,5 @@

 module_param(debug, bool, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(debug, "Debug enabled or not");
+module_param(maxSize, ushort,0);
+MODULE_PARM_DESC(maxSize,"User specified USB endpoint size");

[end 2.6.x patch]

pre huawei e220 to ale asi uz nieje treba

pozri
http://www.kanoistika.sk/bobovsky/archiv/umts/

ref:
http://linux.frankenberger.at/Huawei_E220.html

poznamka/note:
generovane cez usb sniffer program z logu kukni http://lindi.iki.fi/lindi/usb/

https://forge.vodafonebetavine.net/projects/vodafonemobilec/ - GUI E220 
http://bitelia.com/2007/06/05/vodafone-mobile-connect-card-3g-en-linux/
