FreeBSD 8.1, if_cdce and an OpenMoko phone

Torfinn Ingolfsen torfinn.ingolfsen at
Sun Sep 19 00:10:31 UTC 2010


Under FreeBSD 7.3-stable, I could connect my Neo FreeRunner (Openmoko
phone) via usb cable to my workstation, kldload if_cdce and get an
ethernet interface up.
Now running FreeBSD 8.1-release on said workstation:
root at kg-work2# uname -a
FreeBSD 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:55:53 UTC 2010     root at  i386

and the FreeRunner is detected like this:
root at kg-work2#  usbconfig
ugen0.1: <UHCI root HUB Intel> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen1.1: <UHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen2.1: <UHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen3.1: <EHCI root HUB Intel> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen2.2: <RNDIS/Ethernet Gadget Linux 2.6.29-rc3-v21 with s3c2410_udc> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON

and cdce(4) is already in the GENERIC kernel. From /var/log/messages:
Sep 19 00:06:49 kg-work2 root: Unknown USB device: vendor 0x1457 product 0x5122 bus uhub2
Sep 19 00:06:49 kg-work2 kernel: ugen2.2: <Linux 2.6.29-rc3-v21 with s3c2410_udc> at usbus2
Sep 19 00:12:47 kg-work2 kernel: interface cdce.1 already present in the KLD 'kernel'!

The problem is of course that therer isn't an ethernet interface for this usb device:
root at kg-work2# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 00:08:74:b3:5e:c8
	inet netmask 0xffff0000 broadcast
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 
	inet6 ::1 prefixlen 128 
	inet netmask 0xff000000 

So, what magic tricks do I need to perform to get this working under 8.1?

Torfinn Ingolfsen

More information about the freebsd-usb mailing list