Nick, Some devices need in-kernel drivers, but in your case it sounds like you would do better with a purely user-space solution.
Have a look at these documents to get you started: • Accessing Hardware From Applications <https://developer.apple.com/library/mac/documentation/DeviceDrivers/Conceptual/AccessingHardware/AH_Intro/AH_Intro.html <https://developer.apple.com/library/mac/documentation/DeviceDrivers/Conceptual/AccessingHardware/AH_Intro/AH_Intro.html>> • USB Device Interface Guide <https://developer.apple.com/library/Mac/documentation/DeviceDrivers/Conceptual/USBBook/USBIntro/USBIntro.html <https://developer.apple.com/library/Mac/documentation/DeviceDrivers/Conceptual/USBBook/USBIntro/USBIntro.html>> • USBPrivateDataSample <https://developer.apple.com/library/mac/samplecode/USBPrivateDataSample/Introduction/Intro.html> • I/O Kit Framework Reference (look for the IOUSB* objects): <https://developer.apple.com/library/Mac/documentation/Darwin/Reference/IOKit/_index.html> Also, just to make sure no existing in-kernel driver is already claiming your device, run "/usr/sbin/ioreg -l” while your device is attached. Search the output for your device ID so you can locate the relevant entry. Then make sure it is a leaf node of the registry (meaning no other driver has opened it and stacked on top of it). Cheers, - Dean > On Oct 21, 2014, at 2:39 AM, nick <[email protected]> wrote: > > Hi Alex, > > Sorry to bother you again, I didn’t get any message back since yesterday. Is > there anything wrong? > Thanks. > > Nick > >> On Oct 20, 2014, at 5:16 PM, Nick Yao <[email protected]> wrote: >> >> Dear Alex, >> >> From my experiences in Windows and Linux, whenever an new device is >> plugged in, we always have to install the device driver, which lives >> in kernel spaces. So why does not Mac need a device driver lives in >> kernel space? >> >> Thanks >> >> Nick >> >> On 10/20/14, Nick Yao <[email protected]> wrote: >>> Dear Alex, >>> >>> Thanks a lot. >>> Our goal is relatively simple. >>> We have an IC with one USB interface and two I2C interfaces. >>> Our goal is to use usb to transfer data from PC to i2c devices (maybe >>> a camera or e2prom), and vice versa. >>> My leader has already achieved it on Windows and Linux by writing >>> corresponding OS driver. >>> So he thinks it should be done in the same way by writing a device >>> driver on MAC. >>> and that's the reason I get the task. >>> >>> Have I answered your question? >>> >>> Nick >>> >>> On 10/20/14, Alexander von Below <[email protected]> wrote: >>>> Hello Nick, >>>> >>>> in order to help you, I need to understand what your primary goal is. I >>>> have >>>> developed a lot of USB code, and rarely found it necessary for it to live >>>> in >>>> Kernel space. If your code does not need to live in Kernel space, that >>>> would >>>> immediately solve your issue, correct? >>>> >>>> Alex >>>> >>>> >>>> Am 20.10.2014 um 09:29 schrieb Nick Yao <[email protected]>: >>>> >>>>> Dear Alex >>>>> add subject. >>>>> My leader has assigned the driver task to me. So It's kind of an order. >>>>> I just want to know the interface through which upper applications >>>>> talk to device driver. >>>>> I cannot find these interfaces in IOKit Classes. >>>>> >>>>> Thanks. >>>>> >>>>> Nick >>>>> >>>>> On 10/20/14, Alexander von Below <[email protected]> wrote: >>>>>> Exactly what is your goal? Why does your USB code need to live in >>>>>> kernel >>>>>> space in the first place? >>>>>> >>>>>> Alex >>>>>> >>>>>> Von meinem iPhone gesendet >>>>>> >>>>>>> Am 20.10.2014 um 09:00 schrieb Nick Yao <[email protected]>: >>>>>>> >>>>>>> Hello experts, >>>>>>> >>>>>>> I'm new to MAC development with some linux device driver >>>>>>> experience, and I am working on developing an usb device driver. >>>>>>> I have already read iokit fundamental, but still very confused. >>>>>>> how does kext get request form upper applications?Every base >>>>>>> Class in iokit have different functions. >>>>>>> It gives me the expression that iokit does't expose the same >>>>>>> uniform interface to upper applications. >>>>>>> Is there anything like read/write file operations functions in >>>>>>> Linux? >>>>>>> >>>>>>> >>>>>>> Thanks. >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Do not post admin requests to the list. They will be ignored. >>>>>>> Usb mailing list ([email protected]) >>>>>>> Help/Unsubscribe/Update your Subscription: >>>>>>> https://lists.apple.com/mailman/options/usb/below%40mac.com >>>>>>> >>>>>>> This email sent to [email protected] >>>>>> >>>> >>>> >>> > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Usb mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/usb/dean.reece%40apple.com > > This email sent to [email protected]
_______________________________________________ Do not post admin requests to the list. They will be ignored. Usb mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/usb/archive%40mail-archive.com This email sent to [email protected]
