eagle-usb port + thought

Roman Kagan rkagan at mail.ru
Tue Jan 18 01:56:39 EST 2005


  Hi Matthieu,

On Tue, 2005-01-18 at 00:17 +0100, matthieu castet wrote:
> Roman Kagan wrote:
> > Does Eagle chipset provide isochronous endpoints?  Conexant AccessRunner
> > doesn't, AFAIK nor do Alcatel chipsets.
> yes :
> 
> T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
> D:  Ver= 1.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> P:  Vendor=1110 ProdID=900f Rev=40.0b
> S:  Product=ADSL-USB Modem
> S:  SerialNumber=00604C0B2127
> C:* #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
> I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=07 Prot=00 Driver=eagle-usb
> E:  Ad=84(I) Atr=03(Int.) MxPS=  32 Ivl=1ms
> I:  If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
> E:  Ad=04(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> I:  If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
> E:  Ad=04(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=02(O) Atr=03(Int.) MxPS=  64 Ivl=1ms
> I:  If#= 2 Alt= 0 #EPs= 1 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
> E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> I:  If#= 2 Alt= 1 #EPs= 1 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
> E:  Ad=88(I) Atr=01(Isoc) MxPS= 159 Ivl=1ms
> I:  If#= 2 Alt= 2 #EPs= 1 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
> E:  Ad=88(I) Atr=01(Isoc) MxPS= 265 Ivl=1ms
> I:  If#= 2 Alt= 3 #EPs= 1 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
> E:  Ad=88(I) Atr=01(Isoc) MxPS= 424 Ivl=1ms
> I:  If#= 2 Alt= 4 #EPs= 1 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
> E:  Ad=88(I) Atr=01(Isoc) MxPS= 530 Ivl=1ms
> I:  If#= 2 Alt= 5 #EPs= 1 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
> E:  Ad=88(I) Atr=01(Isoc) MxPS= 636 Ivl=1ms
> I:  If#= 2 Alt= 6 #EPs= 1 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
> E:  Ad=88(I) Atr=01(Isoc) MxPS= 795 Ivl=1ms
> I:  If#= 2 Alt= 7 #EPs= 1 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
> E:  Ad=88(I) Atr=01(Isoc) MxPS= 901 Ivl=1ms
> I:  If#= 2 Alt= 8 #EPs= 1 Cls=0a(data ) Sub=00 Prot=00 Driver=eagle-usb
> E:  Ad=88(I) Atr=01(Isoc) MxPS=1007 Ivl=1ms

Ah, nice!  Than you should probably be able to get it working with the
current usb_atm by staying at altsetting 0 (bulk mode) for interface 2,
and, once it works, start thinking about enhancing usb_atm to support
isochronous transfers.

The usb_atm interface won't even need to change: it will adjust to the
type of the endpoints it is handed over, keeping the bulk-only drivers
untouched.

Then the natural extension to the usb_atm interface that we'd better do
now is to replace the current int data_endpoint with unsigned int
snd_pipe and unsigned int rcv_pipe in struct udsl_instance_data, and
fill them in with appropriate usb_*pipe calls in the drivers, for the
time being doing BUG_ON in the usb_atm if the pipes are not of the bulk
type.

> "Il faut noter que j'ai plus tard adopté le fast 800 au détriment du 
> Speedtouch parce que [...] je me suis aperçu que le débit était 
> largement supérieur."

Was the difference in the observed download speeds or in the ADSL line
speed?  It might have been that one modem happened to negotiate higher
ADSL line speed than the other.

> "Pour fonctionner de façon optimale, le débit de synchro ligne ne doit 
> pas dépasser 8032Mbps. Cette limite est apportée par l'utilisation du 
              ^^^^^^^^^
              8032kbps, I suspect

> mode ISO pour les données Downstream."

In principle, the main feature of the ISO mode is the guaranteed
bandwidth.  Even 8 Mbps still doesn't saturate the USB full-speed (12
Mbps), so if the modem is the only device connected to the host
controller, there shouldn't be noticeable difference between ISO and
bulk modes.






More information about the Usbatm mailing list