tap device support (for iphone)?


I'm working on a userspace driver for the iphone's tethering
functionality via USB, which I've reverse engineered (my carrier
allows tethering - this isn't a jailbroken iPhone). After a bit of
setup, this ends up basically just bridging a tap device (userspace L2
ethernet) to the appropriate USB pipes.

I have this working, and can run dhclient on the tap interface
manually, however I'm having trouble getting NetworkManager to
recognise the device. Even if I call the interface 'eth1' rather than
'iphone0' NM (NetworkManager-0.7.996-6.git20091021.fc12.x86_64 from
F12) logs:

NetworkManager: <WARN>  device_creator():
/sys/devices/virtual/net/eth1: couldn't determine device driver;

which is sort of correct, since there isn't a kernel driver for it.

What I'd like to do is have the iphone interface made available to NM,
but at a lower priority than ethernet or wifi interfaces, ideally with
the 'mobile broadband' icon appearing in the applet, and without DHCP
running unless the interface is the top choice (I don't want to send
data over the mobile interface unless we have to, due to cost). There
may later be a way to get a signal strength out of the interface, but
for the moment the only status messages I can decode are the
linkup/linkdown toggles (which my code currently ignores)

Is there any way to do this? I took a look at ModemManager, but that
looks like its designed around serial interfaces, and the iPhone
presents as ethernet.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]