From: Rob M. <ro...@ma...> - 2002-05-09 18:01:12
|
pretty much accurate. There's 4 basic interfaces for the PRism chipset to be connected with: USB PC Card PCI "Airport", which is actually a variant of the ATA bus used for the CD-ROM drive Each one uses a different method to handle I/O, with USB and Airport being the most different. The PC Card and PCI versions are almost the same, but need to be handled differently because of the different bus interface mechanisms. Right now, the driver isn't checking to verify that it's really a PCCard interface, but will fail to map the memory if you hack it and it's really seeing something else. ...but... The PCI adapter you mention is a PCI to PCCard bridge card that uses an off-the-shelf PCCard to do the work. This should work, but it sounds like there's something wrong with the support in IOPCCardFamily that's preventing it from mapping the memory through to the end driver. I'd recommend getting the latest version of IOPCCardFamily from the Darwin CVS archive and compiling it in development mode and then sending a list of the output to me. I can look it over and file a bug report with Apple if it's needed. -Rob On Monday, May 6, 2002, at 10:01 PM, yuriwho wrote: > From my limited understanding, I do not believe this will be possible until > apple includes support for PCMCIA cards via PCI into IOPCCardFamily.kext. > You can try compiling the latest version of IOPCCardFamily from Apples cvs > but I haven't seen anything in the change log to indicate that it could > work. I defer to Rob for a more authoritative answer. > > Y > > > On 4/30/02 1:42 AM, "Otto Moerbeek" <ot...@dr...> wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> Hi, >> >> I've been experimenting with getting my SkyLine 11Mbs with PCI adapter >> working with the wireless driver in my B&W PowerMac. So far, I've been >> able to get the card recognized by the kernel using the standard 10.1.4 >> IOPCCardFamiliy driver. So that is good news. But starting the card >> either results in a mapping error, or in a kernel panic... >> >> These are the steps I've done: >> >> I've put an entry into the the Info.plist file of the IOPCCardFamily >> driver: >> >> <key>PowerMac1,1</key> >> <dict> >> <key>I/O Port Ranges</key> >> <array> >> <data> >> AAAAAAAAj/8= >> </data> >> <data> >> AACgAAAA//8= >> </data> >> </array> >> <key>Memory Ranges</key> >> <array> >> <data> >> hAAAAJ////8= >> </data> >> </array> >> </dict> >> >> (These values are based on an educated guess, see below) >> >> Using this condfig, my SkyLine card gets recognized (there seems to be a >> type in the Info.plist of the WirelessDriver, it lists the/a Skyline >> card as having number HFA3843x, while my card report number HFA384x), >> see below for the ioreg listings. The problem is that initializing the >> card fails. Here are the system.log entries: >> >> Apr 28 13:49:54 power-eth mach_kernel: >> org_noncontiguous_WirelessDriver::probe(pccard156,2) >> Apr 28 13:49:54 power-eth mach_kernel: >> org_noncontiguous_WirelessDriver::probe(pccard156,2) >> Apr 28 13:49:54 power-eth mach_kernel: >> org_noncontiguous_WirelessDriver::start(pccard156,2) <1> >> Apr 28 13:49:54 power-eth mach_kernel: Ethernet(BMac): Link up at 10 >> Mbps - Half Duplex >> Apr 28 13:49:54 power-eth mach_kernel: IOKernelDebugger: Debugger >> attached >> Apr 28 13:49:54 power-eth mach_kernel: IOPCCard info: >> IOPCCard16Enabler::configure using index 0x01: Vcc 3. >> 3, irq 255, io 0x0000-0x003f >> Apr 28 13:49:54 power-eth mach_kernel: Didn't make map 00000000 : >> 00000040 >> Apr 28 13:49:54 power-eth mach_kernel: org_noncontiguous_WirelessDriver: >> Map Failed >> Apr 28 13:49:54 power-eth mach_kernel: >> org_noncontiguous_WirelessDriver::start(provider=0x11da400, this=0x11d >> e000) ** ABORTING! ** >> Apr 28 13:49:54 power-eth mach_kernel: >> org_noncontiguous_WirelessDriver::start(pccard156,2) <2> failed >> Apr 28 13:49:54 power-eth mach_kernel: >> org_noncontiguous_WirelessDriver::start(pccard156,2) <1> >> Apr 28 13:49:54 power-eth mach_kernel: IOPCCard info: >> IOPCCard16Enabler::configure using index 0x01: Vcc 3. >> 3, irq 255, io 0x0000-0x003f >> Apr 28 13:49:54 power-eth mach_kernel: Didn't make map 00000000 : >> 00000040 >> Apr 28 13:49:54 power-eth mach_kernel: org_noncontiguous_WirelessDriver: >> Map Failed >> Apr 28 13:49:54 power-eth mach_kernel: >> org_noncontiguous_WirelessDriver::start(provider=0x11da400, this=0x11f >> 6000) ** ABORTING! ** >> Apr 28 13:49:54 power-eth mach_kernel: >> org_noncontiguous_WirelessDriver::start(pccard156,2) <2> failed >> >> So it looks like the card cannot be mapped into memory. Since tha card >> is matched both by the edited HFA entry and the pccard156,2 entry, it >> gets two attempts, I guess. The irq (255) also looks suspicious to me. >> >> Using LinuxPPC lspci -vv on the same machine (which works fine, after >> having edited the /etc/pcmcia/config.opts to extend the memory range to >> start from 0x80000000, instead of 0x90000000), I can see that the card >> gets mapped to address 0x80885000: >> >> >> 01:04.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus >> Controller (rev 01) >> Subsystem: SCM Microsystems: Unknown device 3000 >> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- >> Stepping- SERR- FastB2B- >> Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- >> <TAbort- <MAbort- >SERR- <PERR- >> Latency: 16, cache line size 08 >> Interrupt: pin A routed to IRQ 25 >> Region 0: Memory at 80885000 (32-bit, non-prefetchable) [size=4K] >> Bus: primary=80, secondary=1c, subordinate=00, sec-latency=176 >> I/O window 0: 00000000-00000003 >> I/O window 1: 00000000-00000003 >> BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt- PostWrite+ >> 16-bit legacy interface ports at 0001 >> >> And here's the cardtl ident output: >> >> Socket 0: >> product info: "INTERSIL", "HFA384x/IEEE", "Version 01.02", "" >> manfid: 0x0156, 0x0002 >> function: 6 (network) >> >> If I adapt the memory region in Info.plist of the IOPCCardFamily driver >> to start with address 0x80000000 (value gAAAAJ////8=), I get a kernel >> panic in the IOPCCardFamily driver. With different values for the mem >> range (copied from other entries in the sme file) I also saw panics in >> the WirelessDriver, being called from the IOPCCardFamily driver. >> >> Do you have any suggestions or hints? Like anwers to the questions: >> >> - - What should be the memory range of the in the Info.plist of the >> PowerMac1,1 entry in the IOPCCardFamily driver? >> - - What should be the Info.plist values of the SkyLine 11mbs card? Has >> the HFA entry a typo or not? >> - - Is the interrupt value of 255 indeed wrong? >> - - What debugging strategy should I use? >> >> >> Thanks in advance, Otto >> >> Below are the ioreg -l listings: >> >> | | | +-o IOPCCardBridge <class IOPCCardBridge> >> | | | | { >> | | | | "Bridge IO Ranges" = (0,36863,40960,65535) >> | | | | "IOPersonalityName" = "IOPCCardFamily" >> | | | | "Configuration Settings" = {"PowerBook"={"Memory >> Ranges"=(<90000000afffffff>),"I/O Port >> Ranges"=(<fe000000fe00ffff>)},"PowerBook1,1"={"Memory >> Ranges"=(<900000009fffffff>),"I/O Port >> Ranges"=(<fe000000fe00ffff>)},"PowerBook3,4"={"Memory >> Ranges"=(<900000009fffffff>),"I/O Port >> Ranges"=(<f2000000f2008fff>,<f200a000f200ffff>)},"PowerBook3,1"={"Memory >> Ranges"=(<900000009fffffff>),"I/O Port >> Ranges"=(<f2000000f2000fff>,<f2002000f200ffff>)},"PowerBook3,2"={" >> Memory Ranges"=(<900000009fffffff>),"I/O Port >> Ranges"=(<f2000000f2008fff>,<f200a000f200ffff>)},"PowerBook3,3"={"Memory >> Ranges"=(<900000009fffffff>),"I/O Port >> Ranges"=(<f2000000f2008fff>,<f200a000f200ffff>)},"PowerMac1,1"={"Memory >> Ranges"=(<840000009fffffff>),"I/O Port >> Ranges"=(<0000000000008fff>,<0000a0000000ffff>) >> },"X86PC"={"Memory >> Ranges"=(<000c0000000fffff>,<a0000000a0ffffff>,<6000000060ffffff>),"I/O >> Port Ranges"=(<00000100000004ff>,<00000800000008ff>,<00000c0000000cff>)}} >> | | | | "Debug Settings" = {"Card Services"=3,"Card >> Bus"=3,"Driver Services"=4,"i82365"=2} >> | | | | "Bridge Memory Ranges" = (-2080374784,-1610612737) >> | | | | "IOProviderClass" = "IOPCIDevice" >> | | | | "CFBundleIdentifier" = >> "com.apple.iokit.IOPCCardFamily" >> | | | | "Power Management private data" = "{ this object = >> 01127600, interested driver = 01127600, driverDesire = 2, deviceDesire = >> 0, ourDesire >> dPowerState = 2, previousRequest = 2 }" >> | | | | "IOKitDebug" = 0 >> | | | | "IOMatchCategory" = "IODefaultMatchCategory" >> | | | | "IOPCIClassMatch" = "0x06070000" >> | | | | "Power Management protected data" = " >> { theNumberOfPowerStates = 3, version 1, power state 0 = >> { capabilityFlags 00000000, outputPowerCha >> racter 00000000, inputPowerRequirement 00000000, staticPower 0, >> unbudgetedPower 0, powerToAttain 0, timeToAttain 0, settleUpTime 0, >> timeToLower 0, settleDownT >> ime 0, powerDomainBudget 0 }, power state 1 = { capabilityFlags >> 00000000, outputPowerCharacter 00000400, inputPowerRequirement 00000400, >> staticPower 0, unbudg >> etedPower 0, powerToAttain 0, timeToAttain 0, settleUpTime 0, >> timeToLower 0, settleDownTime 0, powerDomainBudget 0 }, power state 2 = >> { capabilityFlags 000000 >> 02, outputPowerCharacter 00000002, inputPowerRequirement 00000002, >> staticPower 0, unbudgetedPower 0, powerToAttain 0, timeToAttain 0, >> settleUpTime 0, timeToLo >> wer 0, settleDownTime 0, powerDomainBudget 0 }, aggressiveness = 0, >> myCurrentState = 2, parentsCurrentPowerFlags = 00000002, maxCapability = >> 2 }" >> | | | | "IOClass" = "IOPCCardBridge" >> | | | | "IOProbeScore" = -100 >> | | | | "ParentKey" = >> "KEXTBundle?com.apple.iokit.IOPCCardFamily" >> | | | | } >> | | | | >> | | | +-o pccard156,2@0,0 <class IOPCCard16Device> >> | | | { >> | | | "VersionOneInfo" = >> ("INTERSIL","HFA384x/IEEE","Version 01.02","") >> | | | "VendorID" = 342 >> | | | "DeviceID" = 2 >> | | | "IOInterruptSpecifiers" = (<00000000>) >> | | | "Power Management private data" = "{ this >> object = 011ebf00, interested driver = 011ebf00, driverDesire = 0, >> deviceDesire = 0, ourDesi >> redPowerState = 2, previousRequest = 2 }" >> | | | "IODeviceMemory" = ("IOGeneralMemoryDescriptor >> is not serializable") >> | | | "FunctionExtension" = >> (<0107>,<0240420f00>,<0280841e00>,<0260ec5300>,<02c0d8a700>,<0307>,<04060000c5 >> 099172> >> ,<0501>) >> | | | "Power Management protected data" = " >> { theNumberOfPowerStates = 3, version 1, power state 0 = >> { capabilityFlags 00000000, outputPowerC >> haracter 00000000, inputPowerRequirement 00000000, staticPower 0, >> unbudgetedPower 0, powerToAttain 0, timeToAttain 0, settleUpTime 0, >> timeToLower 0, settleDow >> nTime 0, powerDomainBudget 0 }, power state 1 = { capabilityFlags >> 00000000, outputPowerCharacter 00000400, inputPowerRequirement 00000400, >> staticPower 0, unbu >> dgetedPower 0, powerToAttain 0, timeToAttain 0, settleUpTime 0, >> timeToLower 0, settleDownTime 0, powerDomainBudget 0 }, power state 2 = >> { capabilityFlags 0000 >> 0000, outputPowerCharacter 00000002, inputPowerRequirement 00000002, >> staticPower 0, unbudgetedPower 0, powerToAttain 0, timeToAttain 0, >> settleUpTime 0, timeTo >> Lower 0, settleDownTime 0, powerDomainBudget 0 }, aggressiveness = 0, >> myCurrentState = 2, parentsCurrentPowerFlags = 00000002, maxCapability = >> 2 }" >> | | | "FunctionName" = "Network Adapter" >> | | | "FunctionNumber" = 0 >> | | | "IOInterruptControllers" = >> ("IOPCCardInterruptController00010400") >> | | | "FunctionID" = 6 >> | | | "SocketNumber" = 0 >> | | | "IOName" = "pccard156,2" >> | | | } >> >> >> - -- >> Otto Moerbeek ot...@dr... >> Public Key fingerprint: 13F7 EB00 14D7 7810 88DA CDDE DBF1 B5AB 2FB7 >> A5A3 >> >> -----BEGIN PGP SIGNATURE----- >> Version: GnuPG v1.0.6 (Darwin) >> Comment: For info see http://www.gnupg.org >> >> iD8DBQE8zjzI2/G1qy+3paMRAiwFAKCKYkImt+aXlDxPRVk0AQFEi6AD+wCgsGAm >> Q1a6y3DZ95LG4EqqHHy+r8I= >> =MoEo >> -----END PGP SIGNATURE----- >> >> >> _______________________________________________ >> Wirelessdriver-devel mailing list >> Wir...@li... >> https://lists.sourceforge.net/lists/listinfo/wirelessdriver-devel >> > > > _______________________________________________________________ > > Have big pipes? SourceForge.net is looking for download mirrors. We supply > the hardware. You get the recognition. Email Us: ban...@so... > _______________________________________________ > Wirelessdriver-devel mailing list > Wir...@li... > https://lists.sourceforge.net/lists/listinfo/wirelessdriver-devel |