Android usb tethering

freebsd-questions at herveybayaustralia.com.au freebsd-questions at herveybayaustralia.com.au
Tue Nov 2 00:33:04 UTC 2010



On Tue  2/11/10 10:11 AM , Alejandro Imass  wrote:On Mon, Nov 1, 2010
at 6:25 PM, Ivan Voras  wrote:
 > On 11/01/10 15:42, Mark Atkinson wrote:
 >>
 >> -----BEGIN PGP SIGNED MESSAGE-----
 >> Hash: SHA1
 [...]
 > In the above messages, the kernel detaches the storage device
(umass) and
 > tries to attach the new device, which doesn't have a driver so it's
attached
 > as "ugen" - generic USB.
 >
 Yes. One has to remember that USB is just the bus just like pci,
 microchannel, etc. Even though you have access to the device on the
 bus you still need a driver for that specific ethernet chip your
 kernel. This is analogous to having a video card on the pci bus, you
 still need for the kernel to drive the specific chipset of the card
 regardless if it can see it on the bus.
 I have an HTC Nexus One so I may fiddle with this and see if I can
 help some more here. I am wishful that at least we can get a tty just
 like other gsm modems and from there it's pretty straight forward
 using wvdial or alike. If it's only the Ethernet over usb like you
 mention, then the chipset driver would have to be translated/ported
to
 the FBSD kernel, if it's not already there ?
Ok. But I will clarify here:
The HTC Android systems uses an "Internet Sharing" feature-
essentially Google has coded in routing/nat system into the base OS
(probably moding the leftover code already in the linux base), and is
trying to allow similar using bluetooth and wifi at a later date as
well. The RNDIS is a M$ system that allows sharing anything over USB
(network, files, etc- but all essentially operated as network anyway),
something they've been playing with for some years- I was looking for
an A-A USB cable since around 2003 or so to quickly transfer files
when needed. Apparently M$ opened the specs a year or two ago and
everyone's jumped on to use it. So where Google started was to start
allowing the use of the router/nat via RNDIS USB - somehow this was
easier than allowing bluetooth or wifi (probably security and
available hardware features).
So yes, apparently the phone hooks up as a usb mass storage device,
uploads a file to the computer, and disconnects and becomes a network
device. Here is the output from linux:
usb 2-2.2: new high speed USB device using ehci_hcd and address 4
usb 2-2.2: configuration #1 chosen from 1 choice
scsi9 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 4
usb-storage: waiting for device to settle before scanning
usb 2-2.2: New USB device found, idVendor=0bb4, idProduct=0ff9
usb 2-2.2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb 2-2.2: Product: Android Phone
usb 2-2.2: Manufacturer: HTC
usb 2-2.2: SerialNumber: SH07TNX00726
usb-storage: device scan complete
scsi 9:0:0:0: Direct-Access     HTC      Android Phone    0100 PQ: 0
ANSI: 2
sd 9:0:0:0: [sdf] Attached SCSI removable disk
sd 9:0:0:0: Attached scsi generic sg6 type 0
usb 2-2.2: USB disconnect, address 4
usb 2-2.2: new high speed USB device using ehci_hcd and address 5
usb 2-2.2: configuration #1 chosen from 1 choice
usb 2-2.2: New USB device found, idVendor=0bb4, idProduct=0ffe
usb 2-2.2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb 2-2.2: Product: Android Phone
usb 2-2.2: Manufacturer: HTC
usb 2-2.2: SerialNumber: SH07TNX00726
usbcore: registered new interface driver cdc_ether
usb0: register 'rndis_host' at usb-0000:00:04.1-2.2, RNDIS device,
ae:f6:3d:da:20:39
usbcore: registered new interface driver rndis_host
usbcore: registered new interface driver rndis_wlan
usb0: no IPv6 routers present
usb 2-2.2: USB disconnect, address 5
usb0: unregister 'rndis_host' usb-0000:00:04.1-2.2, RNDIS device

So. What would be my next step to make this work? OpenMoko have
something similar and I tried moding some of their scripts (they've
made theirs work with ALL OS- not just linux and Winblow$! Take heed
manufacturers!) but it didn't mesh on the Android. I still end up with
a generic host.
As I mentioned, I tried modifying the cdce driver and the device list
but that didn't help either, so when I moded the scripts and devd.conf
I figured that was the missing piece of my puzzle.
I'd actually pay someone to do this, but I do need to figure this out
for myself anyway so I'm diving in deep and going to keep on
struggling till I get it. I need it figured out before the year's end
so I'm not going to sit on my laurels :) That, and a usb mass storage
device emulator to trick a dumb digital photo frame....
 >
 > _______________________________________________
 >  mailing list
 > http://lists.freebsd.org/mailman/listinfo/freebsd-questions [3]"
target="_blank">http://lists.freebsd.org/mailman/listinfo/freebsd-questions
 > To unsubscribe, send any mail to ""
 >
 _______________________________________________
  mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-questions [6]"
target="_blank">http://lists.freebsd.org/mailman/listinfo/freebsd-questions
 To unsubscribe, send any mail to ""
-------------------------
Message sent via Atmail Open - http://atmail.org/

Links:
------
[3] http://webmail.unitedinsong.com.au/parse.php?redirect=<a href=
[6] http://webmail.unitedinsong.com.au/parse.php?redirect=<a href=


More information about the freebsd-questions mailing list