# ti_usb_3410_5052 not requesting firmware

## Corona688

According to many sources I should expect to be seeing lines like 

```
USB Serial support registered for TI USB 3410 1 port adapter

USB Serial support registered for TI USB 5052 2 port adapter

ti_usb_3410_5052 2-1:1.0: TI USB 3410 1 port adapter converter detected

usb 2-1: firmware: requesting ti_usb-v0451-pf432.fw

usb 2-1: firmware: requesting ti_3410.fw

...
```

 when I load the ti_usb_3410_5052 driver.  However I don't, I just get:

```
[    6.902246] USB Serial support registered for TI USB 3410 1 port adapter

[    6.902557] USB Serial support registered for TI USB 5052 2 port adapter

[    6.902787] ti_usb_3410_5052 1-1:1.0: usb_probe_interface

[    6.902798] ti_usb_3410_5052 1-1:1.0: usb_probe_interface - got id

[    6.902812] ti_usb_3410_5052 1-1:1.0: TI USB 3410 1 port adapter converter de

tected

[    6.902868] ti_usb_3410_5052: probe of 1-1:1.0 failed with error -5

[    6.902888] usb 1-1: unregistering interface 1-1:1.0

[    6.902980] usb 1-1: usb_disable_device nuking non-ep0 URBs

[    6.903137] ti_usb_3410_5052 1-2:1.0: usb_probe_interface

[    6.903146] ti_usb_3410_5052 1-2:1.0: usb_probe_interface - got id

[    6.903156] ti_usb_3410_5052 1-2:1.0: TI USB 3410 1 port adapter converter de

tected

[    6.903191] ti_usb_3410_5052: probe of 1-2:1.0 failed with error -5

[    6.903208] usb 1-2: unregistering interface 1-2:1.0

[    6.903287] usb 1-2: usb_disable_device nuking non-ep0 URBs

[    6.903780] usbcore: registered new interface driver ti_usb_3410_5052

[    6.903788] ti_usb_3410_5052: v0.10:TI USB 3410/5052 Serial Driver

[    6.906004] usb 1-1: adding 1-1:2.0 (config #2, interface 0)

[    6.906171] ti_usb_3410_5052 1-1:2.0: usb_probe_interface

[    6.906180] ti_usb_3410_5052 1-1:2.0: usb_probe_interface - got id

[    6.906192] ti_usb_3410_5052 1-1:2.0: TI USB 3410 1 port adapter converter detected

[    6.906388] usb 1-1: TI USB 3410 1 port adapter converter now attached to ttyUSB0

[    6.909116] usb 1-2: adding 1-2:2.0 (config #2, interface 0)

[    6.909277] ti_usb_3410_5052 1-2:2.0: usb_probe_interface

[    6.909287] ti_usb_3410_5052 1-2:2.0: usb_probe_interface - got id

[    6.909300] ti_usb_3410_5052 1-2:2.0: TI USB 3410 1 port adapter converter detected

[    6.909490] usb 1-2: TI USB 3410 1 port adapter converter now attached to ttyUSB1
```

 yes, there's two of them, and I really do have two devices.

I see no indication it's even trying to load firmware.  When I try and read from the ports I either get nulls or garbage.

My kernel is  2.6.36-gentoo-r5.

----------

## NeddySeagoon

Corona688,

Please post your /proc/bus/usb/devices file.

----------

## Corona688

Thank you, Neddy.  I think it's a moot point, though.  It's awful hard to blame the driver when equivalent code under Windows produces the same results -- nulls or garbage.  I think it must be something to do with flow control.

----------

## NeddySeagoon

Corona688,

I was wanting to check your USB tree for power problems and mixing USN1 and USB2 on the same root hubs.

----------

## Corona688

```
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=1d6b ProdID=0001 Rev= 2.06

S:  Manufacturer=Linux 2.6.36-gentoo-r5 uhci_hcd

S:  Product=UHCI Host Controller

S:  SerialNumber=0000:00:1f.2

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=109 Spd=12  MxCh= 0

D:  Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=00 MxPS= 8 #Cfgs=  2

P:  Vendor=0451 ProdID=3410 Rev= 1.00

S:  Manufacturer=Texas Instruments

S:  Product=TUSB3410 Boot Device

S:  SerialNumber=TUSB3410

C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=

E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

C:* #Ifs= 1 Cfg#= 2 Atr=a0 MxPwr=100mA

I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=ti_usb_3410_5052

E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=83(I) Atr=03(Int.) MxPS=   2 Ivl=1ms
```

 ...but I'm pretty convinced it's a flow-control issue now.  My own program can't communicate with it in windows, but the offical app always could, and I finally managed to get a capture of valid traffic:  Looks like it uses DTR hardware flow control.  Or at the very least needs those pins set to a weird state before communication will happen.  Most annoying...  if it was real serial instead of USB I could just rewire it into CTSRTS, but convincing USB to pretend those signals are something else would mean modifying the driver.

----------

## Corona688

Software flow control was needed.  I get sensible data now.

----------

