Hi
I am looking to create a driver for a custom ethernet based device. Trying to understand what IOService subclass I should be focusing on when I go to build my custom driver.
Here is my current setup:
- external card has ethernet port
- ethernet cable connected via ethernet to thunderbolt adapter to thunderbolt port on MacBook
- in Networking preferences, I have configured the ethernet connection using manual configured IPv4 connection
- IP Address: 10.9.9.2 (matches how the device registers itself when connected to a windows box)
- Router: 10.9.9.9 fixed IP set by the manufacturer on the card
- Subnet Mask: 255.255.255.0
With this arrangement, I am able to ping the card, and from what I can tell in Wireshark, behaves the same as when connected to a windows box.
For writing a driver - do I focus on IOUserNetworkEthernet or IOPCIDevice as the base IOService class for my driver?
I have started down the IOUserNetworkEthernet route - but things are not working well. After reading through some documentation etc, starting to think maybe IOPCIDevice and doing PCIe might be the better choice.
Any assistance on helping me set direction would be great.
Thx.