> On 8/22/07, Stuart Henderson <[EMAIL PROTECTED]> wrote: > > On 2007/08/22 19:39, Niresh Singh wrote: > > > I'm currently using OpenBSD 4.1 -stable. The cardbus is Ricoh > > > 5C476. > > > > I've > > > > > had this problem on OpenBSD 3.9 before but managed to solve it > > > using the guide here and patching it manually. The link is as > > > below: > > > > try enabling acpi > > > > boot> boot -c > > ... > > UKC> enable acpi > > 254 acpi0 enabled > > UKC> quit > > > > if it helps, you can use config -e to patch a kernel so you don't > > need to do this manually.
On Wednesday 22 August 2007, Niresh Singh wrote: > Thanks Stuart.. But the problem is I just wanna enable my cbb1. I > just need to know the correct values that I should put so it would > work properly instead of just cbb0? > > Thanks again. > generic > cbb0 at pci1 dev 2 function 0 "Ricoh 5C476 CardBus" rev > 0x80pci_intr_map: no mapping for pin A > : couldn't map interrupt > cbb1 at pci1 dev 2 function 1 "Ricoh 5C476 CardBus" rev > 0x80pci_intr_map: no mapping for pin B > : couldn't map interrupt Post-patch > cbb0 at pci1 dev 2 function 0 "Ricoh 5C476 CardBus" rev 0x80: irq 10 > cbb1 at pci1 dev 2 function 1 "Ricoh 5C476 CardBus" rev > 0x80pci_intr_map: no mapping for pin B > : couldn't map interrupt On Wednesday 22 August 2007, Niresh Singh wrote: > The problem now is, only the cbb0 is working. And the cbb0 of mine is > faulty and can't be used totally. What I want is to make the cbb1 to > work instead of cbb0. I tried changing the values but it just didn't > work because it keep detecting the cbb0 first. I need to use my > wireless pcmcia card urgently. I just want to know how could I just > slap the correct values and make cbb1 work. Tried googling but > nothing helpful came up. Did you even try what Stuart suggested? Your second, post-patch dmesg shows cbb1 is not getting an IRQ. The thought behind of enabling acpi is to get the kernel to recognize the device configuration, and therefore the interrupt assignment for cbb1. It may, or may not work. You may want to note many acpi improvements have gone into the tree since 4.1, so you might also want to try the current 4.2 beta available in snapshots. The problem is not specifically the Rico 5C475/5C476. I use one here without problems (single slot). The goal of that patch was to be able to *both* the Rico 5C475 at cbb0 and the TI PCI1410 at cbb1 at the same time -a system with two different cardbus chips. I see no mention of the TI PCI1410 in either of your dmesgs, none the less, the patch you applied is trying to force one to exist (on cbb1). Your dmesgs seems to show two Rico cardbus chips, not one Rico and one TI. With the patch, I suspect you are trying to forcefully enable hardware that doesn't actually exist in your system, namely the missing TI PCI1410. The patch did succeed in getting the first Rico at cbb0 working, so it seems possible that duplicating it for the second rico chip might work, maybe something like this... (snip) +#ifdef SRX77_HACK + /* Enable First Ricoh 5C475 PCI-CardBus (cbb0) */ + bzero(&pcibios_pir_table[pcibios_pir_table_nentries], + sizeof(pcibios_pir_table[pcibios_pir_table_nentries])); + pcibios_pir_table[pcibios_pir_table_nentries].bus = 1; + pcibios_pir_table[pcibios_pir_table_nentries].device = + PIR_DEVFUNC_COMPOSE(2, 0); + pcibios_pir_table[pcibios_pir_table_nentries].linkmap[0].link = + 0x62; + pcibios_pir_table[pcibios_pir_table_nentries].linkmap[0].bitm ap = 0x200; + pcibios_pir_table_nentries++; + + /* Enable Second Ricoh 5C475 PCI-CardBus (cbb1) */ + bzero(&pcibios_pir_table[pcibios_pir_table_nentries], + sizeof(pcibios_pir_table[pcibios_pir_table_nentries])); + pcibios_pir_table[pcibios_pir_table_nentries].bus = 1; + pcibios_pir_table[pcibios_pir_table_nentries].device = + PIR_DEVFUNC_COMPOSE(2, 0); + pcibios_pir_table[pcibios_pir_table_nentries].linkmap[0].link = + 0x62; + pcibios_pir_table[pcibios_pir_table_nentries].linkmap[0].bitmap = 0x200; + pcibios_pir_table_nentries++; +#endif (snip) I doubt the above is correct (it's a wild guess) but you get the basic idea, try to force the two rico chips to become enabled. Needless to say, none of this seems like a good idea but it might work until you figure out a better way to do it. jcr

