usb-storage driver should send magic command to Option Icon to reset it into "serial" mode

Bug #188568 reported by Martijn vdS
38
This bug affects 4 people
Affects Status Importance Assigned to Milestone
linux (Baltix)
New
Undecided
Unassigned
linux (Ubuntu)
Invalid
Wishlist
Unassigned
linux-source-2.6.22 (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

Binary package hint: linux-source-2.6.22

I have an Option Icon 7.2 HSDPA USB adapter. This works great, once it has been initialized, but initializing it is a pain. The device starts out as a USB disk, with Windows drivers on it.

You need to send a special command to the device before it's scanned by usb-storage (the scan crashes the firmware on the device), using a tool like usb_modeswitch.

As a crashed device is not really useful, I think the usb-storage driver should send that magic command to switch the device into serial mode, so it becomes useful as soon as it's plugged in. This is already being done for Huawei 3G cards.

A new (beta) driver from option used to contain code to send the magic, but as usb-storage is loaded first, it takes precedence and the code in that driver is never executed.

You can find the 0.7 driver on http://www.pharscape.org/component/option,com_forum/Itemid,68/page,viewtopic/t,373/

The magic happens in check_ums_and_send_rezero in hso.c

Revision history for this message
Martijn vdS (martijn) wrote :

Oh, I forgot device IDs.

When you plug it in, you get a mass storage device with vendor id 0x05c6 and product id 0x1000, and once you've sent the packet, it re-appears as 0af0:6901 (which gets picked up by the 'option' usb-serial driver)

I can provide long lsusb dumps if you need them.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Martijn,

Starting with the Hardy kernel the source package naming convention changed from linux-source-2.6.xx to just 'linux'. Therefore I'm going to reassign to the 'linux' package. Sorry for any confusion. Also, we will keep this report open against the actively developed kernel but against linux-source-2.6.22 this will be closed as it does not qualify for an SRU candidate. Thanks.

Changed in linux-source-2.6.24:
importance: Undecided → Wishlist
status: New → Triaged
Changed in linux-source-2.6.22:
status: New → Won't Fix
Revision history for this message
Martijn vdS (martijn) wrote :

This isn't really a kernel issue anymore (there is a userland switcher tool that integrates with udev, I don't know if it's packaged yet). This bug can be closed.

Revision history for this message
Simone Tolotti (simontol) wrote :

It would be useful to have a package with drivers for various 3G devices that need the switch from usb-storage usb-serial.
There are a few of Option, Huawei and Ovation AFAIK.
I've attached some of them.

If you want more you can google for usb_modeswitch or rezero.

Revision history for this message
Martijn vdS (martijn) wrote :

I've packaged rezero in my ppa.

Revision history for this message
Simone Tolotti (simontol) wrote :

Unfortunately rezero don't work with all devices. I was thinking of something like a 'mobile-drivers' package that collect all mobile switching tools/drivers.

The problem is that many of these tools require manual changes to files as /etc/udev.rules.d/mydevice.rules or /etc/usb_modeswitch.conf
This could be done via dpkg-configure.
Anyone? ;-)

Revision history for this message
Martijn vdS (martijn) wrote :

Hey, it's a start :)

Revision history for this message
Martijn vdS (martijn) wrote : Re: [Bug 188568] Re: usb-storage driver should send magic command to Option Icon to reset it into "serial" mode

On Tue, 26 Aug 2008, Simone Tolotti wrote:

> Unfortunately rezero don't work with all devices. I was thinking of
> something like a 'mobile-drivers' package that collect all mobile
> switching tools/drivers.
>
> The problem is that many of these tools require manual changes to
> files as /etc/udev.rules.d/mydevice.rules or /etc/usb_modeswitch.conf

Ideally usb_modeswitch would autodetect the device.

Also, usb_modewitch doesn't seem to wait for the device to become
available (race condition).. only rezero works from udev.rules for me.

Martijn
--
Sorry isn't an excuse when you do something stupid on purpose.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Per Martijn's comment - https://bugs.edge.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/188568/comments/3 - I'm closing this against the kernel. Thanks.

Changed in linux:
status: Triaged → Invalid
Revision history for this message
Martijn vdS (martijn) wrote :

The 'rezero' tool from the Pharscape forums (which switches the USB device into "HSDPA modem" mode) is in a package in my PPA. It installs an udev rule which invokes it.

Revision history for this message
Simone Tolotti (simontol) wrote :

In Jaunty we'llhave udev-extras that works well with these kind of devices.
I hope it will be installed by default when Jaunty will be released.

Revision history for this message
Simone Tolotti (simontol) wrote :

The bug was fixed in Jaunty by installing udev-extras.
No need for addictional packages in Karmic because udev rules for option modem are in udev core package.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.