Re: Developing drivers for a USB-based network device. . .?
Re: Developing drivers for a USB-based network device. . .?
- Subject: Re: Developing drivers for a USB-based network device. . .?
- From: Michael Williams <email@hidden>
- Date: Thu, 16 Aug 2007 16:50:49 -0400
Josh,
Thanks. So I take it I need to be equally concerned about both USB
and Network protocols? Will I need to write portions for both
IOUSBInterface and IOEthernetFamily? Is there a point at which the
USB "falls off" and I can strictly focus on Ethernet, or am I
concerned about both constantly? My apologies for being so "lost".
Thanks,
Michael
On Aug 16, 2007, at 1:20 PM, Josh Graessley wrote:
On Aug 16, 2007, at 10:05 AM, Michael Williams wrote:
Hi All,
I'm sort of caught between two lists here: the USB and the
Networking list (obviously). That said, I could use a bit of
assistance.
Basically, I have a client that has a new USB wireless device (for
which I'll need to write a driver) that will need to provide
network access to various programs; no different than an average
network device. However, I completely lack understanding
regarding how these items interact and where they "meet". Keep
in mind that while I have done no OS X driver development, this is
something that I absolutely need to learn, so outsourcing isn't an
option. If it takes 6 weeks, or 6 months I need to do this
personally. If anyone could provide me with a quality, reasonably
straight-forward course to follow, it would be much appreciated.
Regards,
Michael
BTW, The actual product is similar in functionality to an EVDO
modem, but a bit proprietary.
I know a bit about interacting with the networking stack. I don't
know anything about USB though, so someone else will have to give
you pointers there.
You probably want to create an IONetworkingFamily based driver.
There is some IOKit mechanism for matching on your USB device so
your driver will be loaded automatically and a reference to the USB
stacks representation of the device (IOUSBInterface?) will be
passed to the driver (as the provider?).
If the device will look like Ethernet to the system, you want to
write an IOEthernetFamily based driver.
If the device will look like PPP to the system, you want to write a
serial driver (IOSerialFamily?).
If the device will look like something else, you want an
IONetworkingFamily driver I believe. You will need to pick a new
interface family and write the glue that allows IP and IPv6 to
attach to your interface. If you need to go this route and need
more details, just ask.
-josh
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden