USB Texas Instruments CDCE modem not recognized by cdce

Lorenzo Cogotti miciamail at hotmail.it
Thu Dec 8 15:36:54 UTC 2011


Il giorno gio, 08/12/2011 alle 15.39 +0100, Hans Petter Selasky ha
scritto: 
> Typically you need to select configuration 1 for dual RNDIS/CDCE devices to 
> work.
> 
> 1) Locate your device:
> 
> usbconfig
> 
> 2) Set config 1
> 
> usbconfig -d X.Y set_config 1
> 
> To permanently do this, you can set the configuration index 1 quirk for your 
> device.
> 

I tried editing if_cdce.c adding to the static array mentioned in my
first mail:

{USB_VPI(USB_VENDOR_TI, 0x6060, 0)},

obviously if this edit is necessary, a nice good little #define for
0x6060 should be added where appropriate.

The device get detected and properly claimed by the cdce module.
It is all good unless I actually try to connect with:
dhclient ue0

When I try this, the DHCP request just hangs and times out.

I tried usbconfig -d 0.2 set_config 1
This produces:

cdce0: at uhub0, port 3, addr 2 (disconnected)
cdce0: <CDC Ethernet/RNDIS Communication Interface> on usbus0
ue0: <USB Ethernet> on cdce0
ue0: Ethernet address: 00:e1:a7:76:76:81
cdce1: <CDC Ethernet/RNDIS Data Interface> on usbus0
cdce1: No valid alternate setting found
device_attach: cdce1 attach returned 6
cdce1: <CDC Ethernet/RNDIS Data Interface> on usbus0
cdce1: No valid alternate setting found
device_attach: cdce1 attach returned 6

Despite this moltitude of scary messages, dhclient now works good and I
can surf with my USB modem on FreeBSD, which is as awesome as it sounds.

So, the questions now are:
1) was the if_cdce.c edit necessary, or the usbconfig is more than
enough?
2) how/should could this stuff be made in an automagic way by FreeBSD?
Since everything I have on this desktop has been detected flawlessly,
this was the only thing that made me suffer.

-- 
Lorenzo Cogotti



More information about the freebsd-hackers mailing list