AW: [Oberon] How is ETHO with USB?

Stauber Sven Philipp sven.stauber at inf.ethz.ch
Mon Aug 23 11:32:37 MEST 2010


This 2252+ seems to be a beast ;-)

> Principally a clever idea, but this approach is highly OS dependent. 
> Seems to only work for Windows now.
> With some USB trickery (USB_modeswitch) this can be fixed. 
> But this is not (yet??) implemented in NO/A2.

Not really OS dependent. Just requires a device driver that is aware of this feature... Any OS with a USB mass storage class driver will see the mass storage device (A2 should, too) - well, not all will start the autorun automatically and also, the windows driver found on the "mass storage device" won't help non-MS-OS's  ;-)
Note here that USB stack locates device drivers in a specified order, starting from device-specific drivers (vendor/product ID) going to generic drivers (class/subclass/protocol). If the vendor's driver is installed, it therefore will be loaded and bound to the device and the USB stack does not further look for other drivers... Although this is a very nice feature of USB, it seems to be possible to abuse it...

If you had a specification of the device, "mode-switching" wouldn't be a problem, but without... I wouldn't be patient enough to reverse-engineer such "features".

Best,
Sven

-----Ursprüngliche Nachricht-----
Von: oberon-bounces at lists.inf.ethz.ch [mailto:oberon-bounces at lists.inf.ethz.ch] Im Auftrag von Chris Glur
Gesendet: Samstag, 21. August 2010 02:00
An: oberon
Cc: crglur at gmail.com
Betreff: [Oberon] Re. (2) How is ETHO with USB?

Jörg wrote:
> Huawei uses a kind of flip-flop device: First time, the USB device 
> identifies itself as a CD-ROM (see Interfaceclass in your trace, SCSI 
> mass storage), automagically installs its modem driver from it and 
> that driver changes the USB type to modem.

> See detailed description here:
> http://www.draisberghof.de/usb_modeswitch/

Very interesting, but pity that the Huawei 2252+ is not mentioned.
I wasted my time investigating a friend's Huawei 2252, which had a USB at the PC side and a RS232 at the device side of the cable.
After I bought the 2252+ I discovered that it had a usb connector on the device and different software requirements. The device's plastic cover has a press-out for a serial DB9 connector, and I'm wondering if the PCboard could take a DB9 connector, and run with the old-tested software, instead of buying and using WinXP.

> Principally a clever idea, but this approach is highly OS dependent. 
> Seems to only work for Windows now. 
> With some USB trickery (USB_modeswitch) this can be fixed. 
> But this is not (yet??) implemented in NO/A2.

Thanks,

== Chris Glur.

PS. lets analyse this:
] Several new USB devices...have their MS Windows drivers ] onboard; when plugged in for the first time they act like a ] flash storage and start installing the driver from there.
] After that (and on every consecutive plugging) this driver ] switches the mode internally, the storage device vanishes ] (in most cases), and a new device (like a USB modem) ] shows up. 
Does "first time" mean:
1. that PC saw 'such a device',
2. that PC saw THAT unique device,
3. that device saw a PC ??

Presumably the 'normal PC action' of probing the USB ports are not over written, so the initial action, for both "first time" and subsequent connections, comes from the PC. So:
1. PC says 'Identify yourself';
2. device identifies itself
3. PC can confirm that it already has the driver loaded.

But if the driver is NOT loaded, the device must pretend to be a CDROM..
? So how can the device know IF the PC has got the driver ?

The device could always ID as a CDROM and thus load & run a utility which does:
1. have a look inside the PC & IF no driver exists THEN  load it from the fake-CDROM  ELSE talk-back to the device telling it to switch modes
   & use the existing driver.

In principle, I don't see linux allowing this.
Have these newer M$-WINs got a root/priveledged mode ?

These types of feedback loops can have unintended consequenses, especially when one of the components is made by other parties.
My gmail often locks up - apparently at randon - because of needing cookies ...etc. and having been designed/tested for the mainstream browser. 
Have you read the JavaScript in many http-pages: they always test what make of browser is 'listening', so as the adjust what they say. What happened to universal standards!


--
Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems https://lists.inf.ethz.ch/mailman/listinfo/oberon


More information about the Oberon mailing list