From: Rob M. <ro...@ma...> - 2003-11-17 18:28:35
|
On 17-Nov-03, at 7:36 AM, Java Nut wrote: > Hi Rob, > > Thank you for your reply. I have a few more followup questions before > I am ready to look at this in more detail. > >> AN9900 and RM025 are available under NDA from Intersil. >> sorry, I can't share them without breaking that agreement. > > Do you have contact information or know where on the web to get the > NDA? I believe they were taken over by another company. Lucent and CHOICE worked together to develop the original silicon for the PRISM 2 and Hermes chipsets. CHOICE was bought by Intersil and Lucent later spun their wireless stuff off as OriOCO which was bought by Proxim (I think). Intersil took their technology and continued to develop it into the PRISM 2.5 and PRISM 3 chipsets, then designed an entirely new set of chips for the PRISM GT, PRISM DUO, etc. It seems they have recently (since I last checked) sold that stuff off to GlobespanVirata. <http://www.globespanvirata.com/prism.html> > >> PRISM 2, 2.5 and 3 are all very similar. The biggest differences are >> in form factor and integration. I >> believe that RPSIM 2 was very similar silicon to Lucent's Hermes >> chipset and that PRISM 2.5 introduced >> USB as an interface type. > > If this is the case, it would seem that it should be simple to get it > to work, if it already handles PRISM 2.0. But I am not sure if the > code even recognizes when I insert my card. When I recompiled the code > and first inserted my PRISM 2.5 card, and then my Orinoco WaveLan, the > program gave an OSX security warning asking whether I want to fix, > use, or don't use the kernal extension, but this was not displayed > until I inserted my Orinoco. The PRISM 2.5 card does not show up in > ifconfig's output. OK, this is an IOKit issue, not a driver issue... IOKIt looks at it's XML Info.plist file for each driver it knows of. Then tries to start each matching driver for that device, starting with the best match and working downwards until it finds one that starts successfully. Beginning with Jaguar, IOKit checks each driver's ownership and read/write permissions prior to allowing it to be used by the system for security. If you're getting that alert, then these settings are at fault and the systsem won't load your the driver until they're fixed. Try running "kextload -t ..." against the driver, fixing whatever it whines about, then touching the Extensions directory to force a rebuild of the kext caches. > >>> 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, are you saying that control is then never turned over to our code > if the card is not listed in the file? (I had added the card info to > the XML, but it did not help for my PRISM 2.5 card.) Yes, that is correct. > >> IOLog() written messages are written to the system console. The >> location of this varies from >> system release to system release but is easily accessed by the >> Console app. Some of them >> are written when compiled as a release build, but these are >> generally restricted to error messages. > > 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): > > Nov 14 12:52:59 Latinums-Computer mach_kernel: IOPCCard info: > IOPCCard16Enabler::configure using index 0x01: Vcc 5.0, irq 255, io > 0x0000-0x003f > Nov 14 12:52:59 Latinums-Computer mach_kernel: > org_noncontiguous_WirelessDriver: _wi_readChipInfos() > Nov 14 12:52:59 Latinums-Computer mach_kernel: > org_noncontiguous_WirelessDriver: Firmware version: 1-8.40 > Nov 14 12:52:59 Latinums-Computer mach_kernel: > org_noncontiguous_WirelessDriver: Default channel 10 > Nov 14 12:52:59 Latinums-Computer mach_kernel: > org_noncontiguous_WirelessDriver: Ethernet address 00:02:2d:64:8f:d3 These appear to be messages from our driver. > >> Not yet. Much of the existing code base was pulled from NetBSD. I >> do have a new code base that >> will be released as soon as I can sort out one last bug that hangs >> certain card firmware. I'm hoping this is in the next day or two. > > Does your new code base add support for any more cards (especially the > high output cards)? Is WEP support improved? The high-output cards are PRISM 2.5 cards and are known to work. I have added WEP support to my new codebase and it works for both 40-bit and 128-bit WEP. My new codebase was designed specifically for the PRISM firmware, so might require some tweaking to get WEP working properly with older WaveLAN cards. > > Has anyone started to look at supporting any PRISM 2.5 card before, or > am I the first interested? I've been running a handful of PRISM 2.5 cards without issue on both the current codebase and my new code for the past 2 years or so. 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. -Rob |