Jump to content

Cardbus/PCMCIA Controller ID 104C:8039 Texas Instruments PCIxx12


solu
 Share

421 posts in this topic

Recommended Posts

All right guys I need to phase out of this topic because of time issues. For everyone who wants to get this to work: everything is very meticulously explained in the first couple of postings including everything which you need to figure out in Windows (Device Manager, Hex Edit or Hex Workshop), Linux, and how to go about everything in Mac OS including all required Links to Linix Live-CD images, Mac OS Apps and kexts. More I cannot do anyway. If the controller still isn't working then there is something deeper within your system that keeps it from working ..

 

Good luck everyone, and again thanks to probono for unwrapping this kext .. :D

Link to comment
Share on other sites

@turbo50t

 

Thanks Bugs for all your help in this forum and all the others, I know that all you guys work hard to get stuff working right for all of us Hacintoshers.

 

I think that I finally got mine to work just have to figure out how to get my V620 working, it is now recognized as the Novetel Merlin V620, so I should be able to get it up and operational. Once that is done my system will be 100%.

 

I went back to 10.4.7 as you suggested and seems that did it. Thanks again for all you do.

 

Edit: Probono, here is another system type you can add to your working kext.

Link to comment
Share on other sites

Okay I have managed to get an error now, which is good thing. being that I could not get anything before. Now when I run dmeg I get

IOPCCard notice: AdjustResourceInfo: Unknown error code 0xffffffff

IOPCCardBridge::start failed

Before I just got that invaild bus id 0x0 messege, and also after I changed out my pcifamily.kext, both the pcifamily.kext and the iopccardfamily.kext now show up and are satified in system profiler. I have also edited the plist file in pccardfamily.kext to match my info

CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller

Subsystem: Toshiba America Info Systems Unknown device ff10

Flags: bus master, medium devsel, latency 168, IRQ 185

Memory at dc007000 (32-bit, non-prefetchable)

Bus: primary=07, secondary=08, subordinate=0b, sec-latency=176

Memory window 0: 50000000-51fff000 (prefetchable)

Memory window 1: 52000000-53fff000

I/O window 0: 00004400-000044ff

I/O window 1: 00004800-000048ff

16-bit legacy interface ports at 0001

I used plist edit pro, to edit the values in. By the way after I edit them they do not show as I typed them, is this normal? Anyway here is all my info, If anyone can help that would be great. Also thank you so much for getting me this far buggs, I will get it soon.

Link to comment
Share on other sites

yeeaaahhh, works for me.

 

congratulations really good job, now i only need to add my internal card reader.

 

maybe if i follow the tutorial in the begining for do it and adding the strings for io and memory of the card reader in the same kext will be possible to make it to work? :whistle:

Link to comment
Share on other sites

Guys,

 

is it possible to run my TI PCI7420 cardbus controller with this driver? Or is it possible to adjust it, so it will support my controller?

 

Thanks.

 

 

yes it is...i believe when editing the driver I saw the 4720 already listed... I believe you may only need to edit the plist with your correct memory and i/o settings....if that doesn't work you may need to hexedit the driver...

 

 

 

I was able to complete all the steps except:

 

"Third, repaced the name of a similar TI bridge with "xx12" so that it is correctly recognized "

 

Where do I change this? I need to make it xx10 for mine.

 

THANKS!

 

in the driver...its somewhere in the kext folder...its a file like IOPCCARDfamily with no end extension...you need to open that with a hex edit and add it in there. Also the step "Fourth (important): Used a hex editor to edit the device ID into the binary driver. Important: device ID "8039" becomes hex "3980"." needs to be the same file....

Link to comment
Share on other sites

Go to the IOPCCARDFAMILY.Kext and then in the MAC folder is the driver that he is talking about. Let me save you some time though, here are the Cardbuses already in the driver file:

 

TI 1130.TI 1131.TI 1031.TI 1210.TI 1211.TI 1220.TI 1221.TI 1225.TI 1250A....TI 1251A....TI 1251B....TI 1410.TI 1420.TI 1450.TI 1451.TI 1510.TI 1520.TI 1620.TI 4410.TI 4450.TI 4451.TI 4510.TI 4520.TI 7410.TI 7510.TI xx21.Toshiba ToPIC95-A...Toshiba ToPIC95-B...Toshiba ToPIC97.Toshiba ToPIC100

 

Notice that TI xx12 is not one of them, that's why he had to add his, if yours is already in there, you don't have to do a thing to this file, just the Memory and I/O ranges in the info.plist, using Property List Manager and make sure you edit the right machine, it should be ADP2,1 if you are on a Hacintosh.

Link to comment
Share on other sites

In my IOPCCardFamily.kext, there is Info.plist (which I edited), version.plist (left alone) and a folder 'MacOS. In MacOS there are two files 'IOPCCardFamily' (which I edited my device ID into in the two places) and the backup 'IOPCCardFamily~'. I see no driver that would contain the list you provided. Is that something I forgot to add? Thanks again!

Link to comment
Share on other sites

The file in the MacOS folder is the driver file that is what you would look to see if your Bridge is listed or not. You have to open it with a text editor. If you look at my previous post to save you time I have listed what is already in that file.

Link to comment
Share on other sites

ok i do not have a TI based Cardbus/PCMCIA but rather a Ricoh model (RL5c476 rev b3). i've been following the instructions here to try and attempt to make a IOPCCardFamily.kext file to get my Cardbus/PCMCIA up and running but have stumbled into grey area.. what i have been able to get out of Windows seems too short when it comes to the I/O Windows. does this matter? does anyone know? RL5C476 does appear in the IOPCCardFamily file already... which file specifically is the binary driver that one goes into to change the Device ID? i've found instances of 0476 using HexEdit within the IOPCCardFamily file, however, should i be changing these to 7604 is unclear to me...

 

Device ID: 0476

 

I/O Window 0: DC00-DCFF

I/O Window 1: D400-D4FF

Memory Window 0: FEAFD000-FEAFDFFF

Memory Window 1: FDAF8000-FEAF7FFF

 

- Robert (pMr)dEATHiNjUNE

Link to comment
Share on other sites

I have the same problem that Mariusz is having. It boots until it discovers the card - you know, "IOPCCardBridge: etc." - then nothing. Is there any way to edit the kexts that got me in this predicament outside of the MacOS, since I can't get in there, or am I going to have to do a clean install? Clearly I can't do anything from Windows, and I don't have a Linux installation on my computer (though I'd be willing to set one up if I could edit the kexts from there).

 

Thanks!

TP

Link to comment
Share on other sites

install MacDrive in Windows. After reboot you have read&write access to your HFS partition. Goto you Extensions folder and MOVE the file IOPCCardFamily.kext out of the Extension folder. Don't delete it because MacDrive on hackint0shes is VERY shaky and deleting might already cause minor damage to your HFS partition. After moving the kext booting Mac OS x86 will work.

 

This is in general a VERY easy method to test out new kexts, I have done it like that many times.

Link to comment
Share on other sites

I have the same problem that Mariusz is having. It boots until it discovers the card - you know, "IOPCCardBridge: etc." - then nothing. Is there any way to edit the kexts that got me in this predicament outside of the MacOS, since I can't get in there, or am I going to have to do a clean install? Clearly I can't do anything from Windows, and I don't have a Linux installation on my computer (though I'd be willing to set one up if I could edit the kexts from there).

 

Thanks!

TP

Hi Treasureplane,

 

I use mac os install dvd to access my OSX partition under Terminal.app and then I move IPCCard.kext out of the Extensions folder.

Link to comment
Share on other sites

ok i do not have a TI based Cardbus/PCMCIA but rather a Ricoh model (RL5c476 rev b3). i've been following the instructions here to try and attempt to make a IOPCCardFamily.kext file to get my Cardbus/PCMCIA up and running but have stumbled into grey area.. what i have been able to get out of Windows seems too short when it comes to the I/O Windows. does this matter? does anyone know? RL5C476 does appear in the IOPCCardFamily file already... which file specifically is the binary driver that one goes into to change the Device ID? i've found instances of 0476 using HexEdit within the IOPCCardFamily file, however, should i be changing these to 7604 is unclear to me...

 

Device ID: 0476

 

I/O Window 0: DC00-DCFF

I/O Window 1: D400-D4FF

Memory Window 0: FEAFD000-FEAFDFFF

Memory Window 1: FDAF8000-FEAF7FFF

 

- Robert (pMr)dEATHiNjUNE

 

You need to get the info for your card from a Linux terminal commad "lspci -v" this will list your cardcontrol specs that you can then use to alter IOPCCARDFAMILY.Kext, The binary driver is in the folder MacOS that you must hex edit the 0476, if in fact this is your ID.

 

As to whether your CardBus will work is questionable although in theory it should. However, OS X currently only has support for TI and a select few Toshiba CardBuses. Here are the ones that I found in the Binary Driver:

 

.TI 1130.TI 1131.TI 1031.TI 1210.TI 1211.TI 1220.TI 1221.TI 1225.TI 1250A....TI 1251A....TI 1251B....TI 1410.TI 1420.TI 1450.TI 1451.TI 1510.TI 1520.TI 1620.TI 4410.TI 4450.TI 4451.TI 4510.TI 4520.TI 7410.TI 7510.TI xx21.Toshiba ToPIC95-A...Toshiba ToPIC95-B...Toshiba ToPIC97.Toshiba ToPIC100

 

Good luck, and if you do get yours to work please post with instructions on how you succeeded.

 

You're absolutley correct. Thank you so much for your help. IT WORKS!! This was my first attempt using a hex editor, I didn't realize it could also be opened with a text editor to see certain parts of the file. Turbo, you are the man!

 

Well I am glad to help, but I can't take the credit, if it wasn't for Guys like Bugs and Wondergod in this forum, we'ld all be lost. Those are the two guys who have helped me the most getting my hacitosh running right. Good luck with your OS X experiance.

 

 

P.S. I didn't mean to say Text Editor, it was a typo, I meant to say Hex Editor glad you figured it out though

Link to comment
Share on other sites

This is what I get from the lspci -v command

 

CardBus bridge: Texas Instruments PCI7420 CardBus Controller

Subsystem: Sony Corporation Unknown device 818f

Flags: bus master, medium devsel, latency 168, IRQ 169

Memory at b0008000 (32-bit, non-prefetchable)

Bus: primary=06, secondary=07, subordinate=0a, sec-latency=176

Memory window 0: 50000000-51fff000 (prefetchable)

Memory window 1: 52000000-53fff000

I/O window 0: 00002400-000024ff

I/O window 1: 00002800-000028ff

16-bit legacy interface ports at 0001

 

It seems that TI 7420 is not listed in the IOPCCardFamily.

Does this mean I have to hex edit IOPCCardFamily?

If it does, how do I do that? (going to use 0xED) :compress:

Link to comment
Share on other sites

This is what I get from the lspci -v command

 

CardBus bridge: Texas Instruments PCI7420 CardBus Controller

Subsystem: Sony Corporation Unknown device 818f

Flags: bus master, medium devsel, latency 168, IRQ 169

Memory at b0008000 (32-bit, non-prefetchable)

Bus: primary=06, secondary=07, subordinate=0a, sec-latency=176

Memory window 0: 50000000-51fff000 (prefetchable)

Memory window 1: 52000000-53fff000

I/O window 0: 00002400-000024ff

I/O window 1: 00002800-000028ff

16-bit legacy interface ports at 0001

 

It seems that TI 7420 is not listed in the IOPCCardFamily.

Does this mean I have to hex edit IOPCCardFamily?

If it does, how do I do that? (going to use 0xED) :D

 

Okay, that is the info you need. Follow the instructions that were given earlier in this thread to edit the info.plist in IOPCCardFamily.kext using the Property List Manager. You need to find the ADP2,1 machine by dropping down in the tree. Once you find that find the two enteries for the Memory windows and the I/O windows and replace what is there with yours. You will edit 4 enteries. Save that and now with a text editor edit the file in the IOPCCardFamily.kext/Contents/MacOS/IOPCCardFamily, and enter your card, TI PCI7420, into the list of cards, try to replace yours with a similar one in the list, save the file. Now type the following in Terminal:

 

cd /System/Library

sudo rm -rf Extensions.mkext

sudo rm -rf Extensions.kextcache

Repair disk permissions

Reboot

After reboot in terminal type

sudo dmesg | grep PC

 

Plug your PCMCIA card and check system profiler.

It should be working at this point. If it does, good job you have a working Card Slot.

Link to comment
Share on other sites

Okay, that is the info you need. Follow the instructions that were given earlier in this thread to edit the info.plist in IOPCCardFamily.kext using the Property List Manager. You need to find the ADP2,1 machine by dropping down in the tree. Once you find that find the two enteries for the Memory windows and the I/O windows and replace what is there with yours. You will edit 4 enteries. Save that and now with a text editor edit the file in the IOPCCardFamily.kext/Contents/MacOS/IOPCCardFamily, and enter your card, TI PCI7420, into the list of cards, try to replace yours with a similar one in the list, save the file. Now type the following in Terminal:

 

cd /System/Library

sudo rm -rf Extensions.mkext

sudo rm -rf Extensions.kextcache

Repair disk permissions

Reboot

After reboot in terminal type

sudo dmesg | grep PC

 

Plug your PCMCIA card and check system profiler.

It should be working at this point. If it does, good job you have a working Card Slot.

Turbo50t, thanks for your rply :D

I did follow the instructions very carefully and I thought I did everything correctly

but after reboot, I still get this 'PCCard Bridge::start failed' message.

 

So I entered PCI7420 instead of 7420 into the IOPCCardFamily.kext/Contents/MacOS/IOPCCardFamily

After rebooting, this time, I get this message in Terminal

 

error mapping module file com.apple.iokit.IOPCCardFamily

can't map com.apple.iokit.IOPCCardFamily in preparation for loading

Can't determine dependencies for com.apple.iokit.IOPCCardFamily.

Couldn't alloc class "IOPCCardBridge"

 

hmmm..at least..something is happening,

What should be my next move? :(

Link to comment
Share on other sites

Hi Treasureplane,

 

I use mac os install dvd to access my OSX partition under Terminal.app and then I move IPCCard.kext out of the Extensions folder.

 

Do you boot with the DVD, then access the OSX partition via Terminal? Or are you doing this with MacDrive? Because MacDrive isn't recognizing my MacOSX partition presently for some reason. :D

 

Since I last wrote here, I did a clean install and tried again. Last time I used Bugs' files and they left me hanging, though with a recognized PCMCIA. I figured this was because I was dumb enough to think that Bugs maybe shared memory and I/O windows with me, so this time I edited the memory and I/O windows into IOPCCardFamily/Info.plist myself, using information I culled from SUSE Linux (which I also have on my computer). I edited in my serial and TI xx12 stuff using the HexEdit program, comparing IOPCCardFamily drivers with Bugs'. Then I copied the corrected IOPCCardFamily.kext file to /System/Library/Extensions/, along with the 10.4.4 version of IOPCIFamily.kext (since everyone said to do this). After that, I repaired permissions, did the "chown -R root:wheel /System/Library/Extensions/*.kext" thing, deleted Extensions.kextcache and Extensions.mkext, and rebooted. Upon reloading, I had the exact same problem as before - IOPCCardBridge recognition and endless hangtime. Do you think it's the old version of IOPCIFamily.kext that's messing it up? Or what could it be?

 

Thanks,

TP

Link to comment
Share on other sites

Turbo50t, thanks for your rply :blink:

I did follow the instructions very carefully and I thought I did everything correctly

but after reboot, I still get this 'PCCard Bridge::start failed' message.

 

So I entered PCI7420 instead of 7420 into the IOPCCardFamily.kext/Contents/MacOS/IOPCCardFamily

After rebooting, this time, I get this message in Terminal

 

error mapping module file com.apple.iokit.IOPCCardFamily

can't map com.apple.iokit.IOPCCardFamily in preparation for loading

Can't determine dependencies for com.apple.iokit.IOPCCardFamily.

Couldn't alloc class "IOPCCardBridge"

 

hmmm..at least..something is happening,

What should be my next move? :(

 

Yes it is trying to recognize your card, but seems something is still amiss. Did you do step 4: Fourth (important): Used a hex editor to edit the device ID into the binary driver. Important: device ID "8039" becomes hex "3980".

So if your card is recognized in windows as &DEV_8031, Reverse the pair and hex edit the device into the binary driver. In this case this is my device id "8031", I would put 3180 into the binary driver to properly recognize my card. Windows may put a &DEV_0_8031, don't use that prefaced 0 just the last 4 numbers. Beyond this I can't think of anything else that you would be missing.

Link to comment
Share on other sites

I would put 3180 into the binary driver to properly recognize my card.

Thanks again, Turbo50t :blink:

hmmm, I think I missed that part..would you please show me how can I do that?

I'm not very good at hex so, detailed instruction would be much appreciated.

Link to comment
Share on other sites

Do you boot with the DVD, then access the OSX partition via Terminal? Or are you doing this with MacDrive? Because MacDrive isn't recognizing my MacOSX partition presently for some reason. :)

 

Since I last wrote here, I did a clean install and tried again. Last time I used Bugs' files and they left me hanging, though with a recognized PCMCIA. I figured this was because I was dumb enough to think that Bugs maybe shared memory and I/O windows with me, so this time I edited the memory and I/O windows into IOPCCardFamily/Info.plist myself, using information I culled from SUSE Linux (which I also have on my computer). I edited in my serial and TI xx12 stuff using the HexEdit program, comparing IOPCCardFamily drivers with Bugs'. Then I copied the corrected IOPCCardFamily.kext file to /System/Library/Extensions/, along with the 10.4.4 version of IOPCIFamily.kext (since everyone said to do this). After that, I repaired permissions, did the "chown -R root:wheel /System/Library/Extensions/*.kext" thing, deleted Extensions.kextcache and Extensions.mkext, and rebooted. Upon reloading, I had the exact same problem as before - IOPCCardBridge recognition and endless hangtime. Do you think it's the old version of IOPCIFamily.kext that's messing it up? Or what could it be?

 

Thanks,

TP

 

Recheck your work and be double, double sure of your entries as one misplaced character will screw things up. I am not sure what you ment when you said "I edited in my serial", you don't edit your serial into any of the files, so don't quite know what you did there. You have to hex edit you DEV ID into the driver, but you have to flip the pairs ie....let's say your device as reported by windows is DEV_0x1234, you would hex edit this into the binary driver as 3412 so in other words 1234 becomes 3412 in hex. Leave the 0x off if that is how windows displayed your Dev ID. Mine is displayed as 8031 so I have to hex edit 3180 into the driver file.

Link to comment
Share on other sites

 Share

×
×
  • Create New...