From: Rob M. <ro...@ma...> - 2003-11-19 03:02:06
|
On 18-Nov-03, at 6:50 PM, Java Nut wrote: > Hi Rob, > > Regarding the fact I did not see the system warning when I first > inserted my PRISM 2.5 card, but did see it when I (second) inserted my > Orinoco card makes me think the driver was not invoked at all for the > PRISM 2.5 card. (I just clicked for the system to fix and use when I > did get the message and the Orinoco card came up fine in the driver > (checked with ifconfig).) So you and everyone else knows, 10.3 no longer gives you the option to fix broken driver permissions. > Can you advise, if the following is how I should be setting up my XML > in the Info.plist, and if there is something else I should be doing? > > The info I obtained from my card is: > > /usr/sbin/ioreg -l | grep VersionOneInfo > | | "VersionOneInfo" = ("SMC","SMC2532W-B EliteConnect > Wireless Adapter","","") > > /usr/sbin/ioreg -l | grep pccard > | | +-o pccardd601,5@0,0 <class IOPCCard16Device> > | | "IOName" = "pccardd601,5" > > I tried adding this to the configuration file like this and it did not > help: > > <key>everything else</key> > <dict> > <key>CFBundleIdentifier</key> > > <string>org.noncontiguous.WirelessDriver</string> > <key>IOClass</key> > > <string>org_noncontiguous_WirelessDriver</string> > <key>IONameMatch</key> > <array> > <string>pccard156,2</string> > <string>pccard1eb,807</string> > <string>pccard274,1613</string> > <string>pccard274,1612</string> > <string>pccard138,2</string> > <string>pccardd601,5</string> > <------ added line > </array> > > I am wondering, if you know a way I can verify that the card I > purchased is really PRISM 2.5 and that the manufacturer didn't > misspeak? Hmmm... add extra logging to start() to make sure that the INIT command completes and/or check the responses to RID queries? The changes to the .plist file look good. That should be enough to get it working right. > >> Due to demand, I think I'm going to bite the bullet and post >for >> core of my new code later today even if I don't manage >to sort out >> the bug I'm working on. Depending on how my day >goes, I likely >> won't have the chance to post the PCCard >interface code for this >> driver right away. > > I look forward to downloading and trying the new version. ...which will be posted as soon as I can get a night's sleep... I kinda put my foot in my mouth while on the phone with a client the other day and promised something in about half the time it should have been allocated, so I'm going to be in save-my-ass mode for the next few days. I'll try to get it up during a break. > > May I ask a couple more questions about how the code works. > >>> 3) I am curious, where in the code is the xml file read and >>the >>> card type checked? And how does the program >>distinguish what >>> PRISM level a card has? > >> That is done by IOKit automatically. For information on how this >> works, see >> ><http://developer.apple.com/documentation/DeviceDrivers/Conceptual/ >> IOKitFundamentals/index.html> > > So, then, where is the entry point of the driver, and how is the > driver told which card was inserted? I'd recommend going through Apple's IOKit tutorials and reference docs for that. The basics are easy, but some of the complexities can take a while to wrap your head around. Basically, the .plist file specifies the class name for IOKit to load. IOKit then probes it to make sure it can load (probe returns a score. Higher is better with 0 being this dirver shouldn't try loading), then init(), followed by start(). If the best matching driver can't init or start properly, then it tries the next best and so on. > >>> I noticed that some messages were written to /var/log/system.log >>> when I inserted my >>Orinoco (but not for the PRISM 2.5 card): > > How are messages written to /var/log/system.log? Magic! :-) IOLog handles this. Look through xnu and/or IOKit for details. I've put code in my new version to log via USBProber and the KLog.kext driver. This makes it much more user-friendly to deal with. That code will be posted shortly. > > Thanks for all your help. > No problem. I just wish I had more time to do this stuff right now. -Rob |