• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Developing drivers for a USB-based network device. . .?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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
  • Follow-Ups:
    • Re: Developing drivers for a USB-based network device. . .?
      • From: John Harte <email@hidden>
References: 
 >Developing drivers for a USB-based network device. . .? (From: Michael Williams <email@hidden>)
 >Re: Developing drivers for a USB-based network device. . .? (From: Josh Graessley <email@hidden>)

  • Prev by Date: Re: Reducing the Minimum Packet Retransmit Delay on MacOS X
  • Next by Date: Re: Reducing the Minimum Packet Retransmit Delay on MacOS X
  • Previous by thread: Re: Developing drivers for a USB-based network device. . .?
  • Next by thread: Re: Developing drivers for a USB-based network device. . .?
  • Index(es):
    • Date
    • Thread