Dear all,
I recently got an Huawei E220 usb modem. Reading a bit on the net I
found that:
The Huaweii E220 modem is a composite USB device: in fact it acts like a
mass storage device, and also as three serial communication ports. The
Linux's developers dealt with this ignoring the mass device storage
(which is a read-only mass storage, i.e. a CD-ROM with preload software
only for Windows). For more information see
http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.20-rc2 or
http://lwn.net/Articles/220545/ where you read the changelog for 2.6.20
linux kernel. The interesting part is reported here below:
[...]
Johann Wilhelm (2): usb-storage: Ignore the virtual cd-drive of the
Huawei E220 USB Modem usb-gsm-driver: Added VendorId and ProductId for
Huawei E220 USB Modem
[...]
This modification is present from Linux kernel 2.6.20 and more recent
ones.
See: http://ske.sourceforge.net/html/projects/huawei/huawei_tre.html
Now that I plug my modem I definitely get this usb storage device, and I
need to call a special program to switch to the other mode
(huaweiAktBbo, from
http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo.c).
Several pages on the web state that it should work *without* this switch
program.
Is this a regression from 2.6.20, or is it supposed to work?
Thanks a lot and all the best
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
DEAL (n.)
The gummy substance found between damp toes.
--- Douglas Adams, The Meaning of Liff
Greetings,
Im using a Huawei E220 USB modem, currently running 2.6.22.5 vanilla kernel. It has worked fine for me since 2.6.21.
The lights give you a hint what mode its in. Green = usb_storage, Dark-blue = MODEM_slow, bright-blue = MODEM_fast (3G).
If the light is green after reboot, I need to reboot again until it turns blue. I know this sucks, but just something I've noticed.
One hint is to put the USB modem as static in kernel and usb_storage as module.
Best wishes
Kristoffer Ericson
On Tue, 30 Oct 2007 20:09:45 +0100
Norbert Preining <[email protected]> wrote:
> Dear all,
>
> I recently got an Huawei E220 usb modem. Reading a bit on the net I
> found that:
>
> The Huaweii E220 modem is a composite USB device: in fact it acts like a
> mass storage device, and also as three serial communication ports. The
> Linux's developers dealt with this ignoring the mass device storage
> (which is a read-only mass storage, i.e. a CD-ROM with preload software
> only for Windows). For more information see
> http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.20-rc2 or
> http://lwn.net/Articles/220545/ where you read the changelog for 2.6.20
> linux kernel. The interesting part is reported here below:
>
> [...]
> Johann Wilhelm (2): usb-storage: Ignore the virtual cd-drive of the
> Huawei E220 USB Modem usb-gsm-driver: Added VendorId and ProductId for
> Huawei E220 USB Modem
> [...]
>
> This modification is present from Linux kernel 2.6.20 and more recent
> ones.
>
> See: http://ske.sourceforge.net/html/projects/huawei/huawei_tre.html
>
> Now that I plug my modem I definitely get this usb storage device, and I
> need to call a special program to switch to the other mode
> (huaweiAktBbo, from
> http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo.c).
>
> Several pages on the web state that it should work *without* this switch
> program.
>
> Is this a regression from 2.6.20, or is it supposed to work?
>
> Thanks a lot and all the best
>
> Norbert
>
> -------------------------------------------------------------------------------
> Dr. Norbert Preining <[email protected]> Vienna University of Technology
> Debian Developer <[email protected]> Debian TeX Group
> gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
> -------------------------------------------------------------------------------
> DEAL (n.)
> The gummy substance found between damp toes.
> --- Douglas Adams, The Meaning of Liff
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
Hi Kristoffer,
thanks for the feedback.
On Di, 30 Okt 2007, Kristoffer Ericson wrote:
> Im using a Huawei E220 USB modem, currently running 2.6.22.5 vanilla kernel. It has worked fine for me since 2.6.21.
Strange. I rebuilt the kernel, compiled the usb serial and options into
the kernel, while leaving usb-storage as module. Still I have to issue
the huaweiAktBbo program to get it working/switching into the *right*
modus.
> The lights give you a hint what mode its in. Green = usb_storage, Dark-blue = MODEM_slow, bright-blue = MODEM_fast (3G).
BTW, I have seen a slightly different pattern: Green blinking from the
beginning
calling huaweiAktBbo to make the switch
still blinking green
calling the internet provider
when the connection is established (on the hardware level, not on ip
level) the modem starts blinking blue and then solid blue
turning off the ppp connection it goes into blinking blue mode
> If the light is green after reboot, I need to reboot again until it turns blue. I know this sucks, but just something I've noticed.
Probably you could use the huaweiAktBbo program for this, too.
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
HASELBURY PLUCKNETT (n.)
A mechanical device for cleaning combs invented during the industrial
revolution at the same time as Arkwright's Spinning Jenny, but which
didn't catch on in the same way.
--- Douglas Adams, The Meaning of Liff
On 10/30/2007 04:47 PM, Norbert Preining wrote:
> Hi Kristoffer,
>
> thanks for the feedback.
>
> On Di, 30 Okt 2007, Kristoffer Ericson wrote:
>> Im using a Huawei E220 USB modem, currently running 2.6.22.5 vanilla kernel. It has worked fine for me since 2.6.21.
>
> Strange. I rebuilt the kernel, compiled the usb serial and options into
> the kernel, while leaving usb-storage as module. Still I have to issue
> the huaweiAktBbo program to get it working/switching into the *right*
> modus.
>
Did you see commit d853d872c14b9adc4adad29e56cd378b291f86e0 ?
On Di, 30 Okt 2007, Chuck Ebbert wrote:
> Did you see commit d853d872c14b9adc4adad29e56cd378b291f86e0 ?
No, where can I see that one?
I tried the attached patch which I found on the usb list, but it didn't
work, the cdrom was still always found, and it was
connected/disconnected permanently. Currently I was at:
...
Oct 30 22:20:32 mithrandir kernel: usb 2-2: new full speed USB device using uhci_hcd and address 13
Oct 30 22:20:32 mithrandir kernel: usb 2-2: configuration #1 chosen from 1 choice
Oct 30 22:20:32 mithrandir kernel: usb-storage: probe of 2-2:1.0 failed with error -5
Oct 30 22:20:32 mithrandir kernel: option 2-2:1.0: GSM modem (1-port) converter detected
Oct 30 22:20:32 mithrandir kernel: usb 2-2: GSM modem (1-port) converter now attached to ttyUSB0
Oct 30 22:20:32 mithrandir kernel: usb-storage: probe of 2-2:1.1 failed with error -5
Oct 30 22:20:32 mithrandir kernel: option 2-2:1.1: GSM modem (1-port) converter detected
Oct 30 22:20:32 mithrandir kernel: usb 2-2: GSM modem (1-port) converter now attached to ttyUSB1
Oct 30 22:20:32 mithrandir kernel: scsi35 : SCSI emulation for USB Mass Storage devices
Note the SCSI35 !!!
So is there any other patch I can try?
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
BARSTIBLEY
A humorous device such as a china horse or small naked porcelain
infant which jocular hosts use of piss water into your Scotch with.
--- Douglas Adams, The Meaning of Liff
On Tue, 30 Oct 2007 21:47:20 +0100
Norbert Preining <[email protected]> wrote:
> Hi Kristoffer,
>
> thanks for the feedback.
>
> On Di, 30 Okt 2007, Kristoffer Ericson wrote:
> > Im using a Huawei E220 USB modem, currently running 2.6.22.5 vanilla kernel. It has worked fine for me since 2.6.21.
>
> Strange. I rebuilt the kernel, compiled the usb serial and options into
> the kernel, while leaving usb-storage as module. Still I have to issue
> the huaweiAktBbo program to get it working/switching into the *right*
> modus.
>
> > The lights give you a hint what mode its in. Green = usb_storage, Dark-blue = MODEM_slow, bright-blue = MODEM_fast (3G).
>
> BTW, I have seen a slightly different pattern: Green blinking from the
> beginning
I get green blinking up to udev, then it turns into dark blue.
> calling huaweiAktBbo to make the switch
> still blinking green
> calling the internet provider
> when the connection is established (on the hardware level, not on ip
> level) the modem starts blinking blue and then solid blue
> turning off the ppp connection it goes into blinking blue mode
>
I have no experience with huewaiAktBbo, I just use wvdial, works nicely.
Solid color also symbolises "Established mode" for me.
> > If the light is green after reboot, I need to reboot again until it turns blue. I know this sucks, but just something I've noticed.
>
> Probably you could use the huaweiAktBbo program for this, too.
>
I've noticed that it depends on the USB host somehow. On my laptop I need to restart 3 times before it will go into "blue mode" properly. On my primary PC though, it always works right away. No idea why and haven't had the time to bugtrack it.
> Best wishes
>
> Norbert
>
> -------------------------------------------------------------------------------
> Dr. Norbert Preining <[email protected]> Vienna University of Technology
> Debian Developer <[email protected]> Debian TeX Group
> gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
> -------------------------------------------------------------------------------
> HASELBURY PLUCKNETT (n.)
> A mechanical device for cleaning combs invented during the industrial
> revolution at the same time as Arkwright's Spinning Jenny, but which
> didn't catch on in the same way.
> --- Douglas Adams, The Meaning of Liff
On Di, 30 Okt 2007, Chuck Ebbert wrote:
> Did you see commit d853d872c14b9adc4adad29e56cd378b291f86e0 ?
2.6.23 + this commit exhibits the same problems I describe before ...
permanent disconnect/connect problems. Not even using the mentioned
program does switch the usb modem into the right mode.
So this patch seems to be bogus...
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
HEVER (n.)
The panic caused by half-hearing Tannoy in an airport.
--- Douglas Adams, The Meaning of Liff
On Tue, 30 Oct 2007 20:09:45 +0100, Norbert Preining <[email protected]> wrote:
> Is this a regression from 2.6.20, or is it supposed to work?
Please post your /proc/bus/usb/devices. Maybe it just fails to match.
-- Pete
On Di, 30 Okt 2007, Pete Zaitcev wrote:
> Please post your /proc/bus/usb/devices. Maybe it just fails to match.
Here is the relevant part:
T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 25 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
The VendorID and ProductID do match, the strings seem to be different
(HUAWEI MOBILE in the patch, in the usb/devices "HUAWEI Mobile")., but I
don't know what counts here.
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
TINGRITH (n.)
The feeling of silver paper against your fillings.
--- Douglas Adams, The Meaning of Liff
On Tue, 30 Oct 2007 22:22:13 +0100, Norbert Preining <[email protected]> wrote:
> I tried the attached patch which I found on the usb list, but it didn't
> work, the cdrom was still always found, and it was
> connected/disconnected permanently.
The difference with huaweiAktBbo.c seems that kernel uses a nonzero length.
Can you try zero length with the kernel? It's the second argument to the last.
-- Pete
On Di, 30 Okt 2007, Pete Zaitcev wrote:
> The difference with huaweiAktBbo.c seems that kernel uses a nonzero length.
> Can you try zero length with the kernel? It's the second argument to the last.
I tried with the git patch plus changing the penultimage argument from
0x1 to 0.
The switch of the modem is still not done automatically, but calling
huaweiAktBbo does effect the switch.
In my tests I did NOT reboot since usb-storage was compiled as module
(usbserial and option fix in the kernel). But I made sure that I loaded
the right (the module with the patched code) after removing the old one.
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
GALASHIELS (pl.n.)
A form of particularly long sparse sideburns which are part of the
mandatory uniform of British Rail guards.
--- Douglas Adams, The Meaning of Liff
On Mi, 31 Okt 2007, preining wrote:
> On Di, 30 Okt 2007, Pete Zaitcev wrote:
> > The difference with huaweiAktBbo.c seems that kernel uses a nonzero length.
> > Can you try zero length with the kernel? It's the second argument to the last.
>
> I tried with the git patch plus changing the penultimage argument from
> 0x1 to 0.
Hmm, in addition I added a
printk(KERN_ERR "ENTERING usb_stor_huawei_e220_init!\n");
at the beginning of the function but it never showed up in my log files.
So it seems that the UNUSUAL_DEV entry does not match.
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
TIDPIT (n.)
The corner of a toenail from which satisfying little black deposits
may be sprung.
--- Douglas Adams, The Meaning of Liff
On Wed, 31 Oct 2007 07:23:56 +0100, Norbert Preining <[email protected]> wrote:
> Hmm, in addition I added a
> printk(KERN_ERR "ENTERING usb_stor_huawei_e220_init!\n");
> at the beginning of the function but it never showed up in my log files.
> So it seems that the UNUSUAL_DEV entry does not match.
This doesn't seem to be possible, considering the /proc/bus/usb/devices
that you posted. I would rather suspect that you forgot to perform
some step in your kernel installation, and end using a stale
usb-storage module.
-- Pete
On Di, 30 Okt 2007, Pete Zaitcev wrote:
> This doesn't seem to be possible, considering the /proc/bus/usb/devices
> that you posted. I would rather suspect that you forgot to perform
> some step in your kernel installation, and end using a stale
> usb-storage module.
No.
$ uname -r
2.6.23
$ cd /lib/modules/2.6.23
$ find . -name usb-storage.ko
./kernel/drivers/usb/storage/usb-storage.ko
$ strings ./kernel/drivers/usb/storage/usb-storage.ko | grep -i huawei_e22a
<3>ENTERING usb_stor_huawei_e220_init!
$
So it is there ... and it is the only module.
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
`The first ten million years were the worst,' said Marvin,
`and the second ten million, they were the worst too. The
third ten million I didn't enjoy at all. After that I went
into a bit of a decline.'
--- Marvin reflecting back on his 576,000,003,579 year
--- career as Milliways' car park attendent.
--- Douglas Adams, The Hitchhikers Guide to the Galaxy
On Di, 30 Okt 2007, Pete Zaitcev wrote:
> > printk(KERN_ERR "ENTERING usb_stor_huawei_e220_init!\n");
> > at the beginning of the function but it never showed up in my log files.
> > So it seems that the UNUSUAL_DEV entry does not match.
>
> This doesn't seem to be possible, considering the /proc/bus/usb/devices
> that you posted. I would rather suspect that you forgot to perform
Compiling both -- usb-storage and option/usb-serial -- as modules did
work.
Ok, thanks a lot.
I assume that is because the built-in usb-serial/option did grab the
device so the init function wasn't executed. Putting both into modules
allowed that usb-storage grabbed the device first.
Anyway, my interpretation without any knowledge.
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
SCONSER (n.)
A person who looks around then when talking to you, to see if there's
anyone more interesting about.
--- Douglas Adams, The Meaning of Liff
Dear Pete, dear all,
On Mi, 31 Okt 2007, preining wrote:
> On Di, 30 Okt 2007, Pete Zaitcev wrote:
> > The difference with huaweiAktBbo.c seems that kernel uses a nonzero length.
> > Can you try zero length with the kernel? It's the second argument to the last.
>
> I tried with the git patch plus changing the penultimage argument from
> 0x1 to 0.
Ok, did new tests with 2.6.24-rc2:
- with plain kernel the usb-storage modules attaches and detaches
permanently a virtual cd drive, I stopped after 30+ iterations.
- changing the penultimage argument in the usb_stor_huawei_e220_init
function from 0x1 to 0 stopped this misbehaviour, but
- with the change from 0x1 to 0 the initialization works automatically.
Can we place change this 0x1 to 0?
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
MOLESBY (n.)
The kind of family that drives to the seaside and then sits in the car
with all the windows closed, reading the Sunday Express and wearing
sidcups (q.v.)
--- Douglas Adams, The Meaning of Liff
On Fri, 16 Nov 2007 14:22:56 +0100, Norbert Preining <[email protected]> wrote:
> > > The difference with huaweiAktBbo.c seems that kernel uses a nonzero length.
> > > Can you try zero length with the kernel? It's the second argument to the last.
> >
> > I tried with the git patch plus changing the penultimage argument from
> > 0x1 to 0.
>
> Ok, did new tests with 2.6.24-rc2:
> - with plain kernel the usb-storage modules attaches and detaches
> permanently a virtual cd drive, I stopped after 30+ iterations.
It looks like between Dave Russel and I, we hit the same problem
that you did, after taking care of detection and initialization.
Look at his dmesg in comment #44 in this:
https://bugzilla.redhat.com/show_bug.cgi?id=253096#c44
> - changing the penultimage argument in the usb_stor_huawei_e220_init
> function from 0x1 to 0 stopped this misbehaviour, but
>
> - with the change from 0x1 to 0 the initialization works automatically.
I may be able to test this.
As you recall, Huawei people themselves suggested nonzero length,
this is why we didn't want to change it. But perhaps they are
mistaken about the operation of their own hardware. Stranger
things happened...
-- Pete
> Ok, did new tests with 2.6.24-rc2:
> - with plain kernel the usb-storage modules attaches and detaches
> permanently a virtual cd drive, I stopped after 30+ iterations.
afais this is caused by hal.
when i stop hal this bouncy behaviour stops.
also it doesn't happen if you put your huawei on before boot.
On Do, 14 Feb 2008, Pete Zaitcev wrote:
> that you did, after taking care of detection and initialization.
> Look at his dmesg in comment #44 in this:
Yes, that looks very similar.
> > - changing the penultimage argument in the usb_stor_huawei_e220_init
> > function from 0x1 to 0 stopped this misbehaviour, but
> >
> > - with the change from 0x1 to 0 the initialization works automatically.
>
> I may be able to test this.
I test it regularly, last with 2.6.25-rc1, and it works, always. Maybe
it is not the optimal solution, but who knows.
> As you recall, Huawei people themselves suggested nonzero length,
Umpf, ahhaaaa, very interesting.
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
Serious error.
All shortcuts have disappeared.
Screen.
Mind.
Both are blank.
--- Windows Error Haiku
On Wed, 20 Feb 2008 07:57:23 +0100, Norbert Preining <[email protected]> wrote:
> > that you did, after taking care of detection and initialization.
> > Look at his dmesg in comment #44 in this:
>
> Yes, that looks very similar.
Someone reported on the bug that a firmware update exists to resolve
the issue (version 11.117.07.00.67). Probably they started to comply
with the spec and return 12 bytes of sense according to the allocation
length in the SCSI command.
https://bugzilla.redhat.com/show_bug.cgi?id=253096#c51
-- Pete
On Mo, 25 Feb 2008, Pete Zaitcev wrote:
> Someone reported on the bug that a firmware update exists to resolve
> the issue (version 11.117.07.00.67). Probably they started to comply
But where do I get this firmware update? I searched the huawei web site,
registered, bid couldn't find anything... any hints?
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <[email protected]> Vienna University of Technology
Debian Developer <[email protected]> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
GRIMMET (n.)
A small bush from which cartoon characters dangle over the edge of a
cliff.
--- Douglas Adams, The Meaning of Liff