PookyMacMan Posted January 9, 2012 Share Posted January 9, 2012 Hello! I just recently received a late Christmas gift; a TP-Link TL-WN851N PCI wireless card! I put it in my system today, spent an hour and a half getting it to work with Apple's Atheros drivers (turned out I needed the IO80211Family.kext from 10.6.2), and I thought everything was perfect. Well, not quite. I just started having problems of my wireless connection just randomly dropping. I keep it under a desk a good distance away from the router, but I don't think it's too far because I use my MacBook farther away and there are no problems...to top it off, even when I shift my computer back into known-distance range, it doesn't detect the network until I restart. Is there anything I can do about it, or is this a very weak wireless card? Thank you very much. I am experienced in hackintoshing, so I can do anything you say/provide more info. Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/ Share on other sites More sharing options...
LatinMcG Posted January 9, 2012 Share Posted January 9, 2012 what rev 2.0 or 2..1 ? try using proper 10.6.8 kext with device id added. or maybe ar9285 dsdt fix with id 2a instead of 29.. or try 28 to make it think its ar5bxb72. Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1784649 Share on other sites More sharing options...
PookyMacMan Posted January 10, 2012 Author Share Posted January 10, 2012 Currently I have 10.6.7. I tried patching that kext but it didn't work. What would I do to change my DSDT? I have included dsdt.aml and dsdt.dsl. DSDTs.zip Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1784797 Share on other sites More sharing options...
LatinMcG Posted January 10, 2012 Share Posted January 10, 2012 Currently I have 10.6.7. I tried patching that kext but it didn't work. What would I do to change my DSDT? I have included dsdt.aml and dsdt.dsl. DSDTs.zip neeed ioregistry to find where 168c is at Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1784944 Share on other sites More sharing options...
PookyMacMan Posted February 6, 2012 Author Share Posted February 6, 2012 Sorry I've been so long - I just got the 10.6.7 kext working, and I thought the problem was gone, but now it's coming back...and now that we just got a new router and it's in the same room as the machine, I know it's the computer's problem and not a range issue. Just ran ioreg and here's the output: ioreg.rtf Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1793546 Share on other sites More sharing options...
LatinMcG Posted February 6, 2012 Share Posted February 6, 2012 thsiis for the p4 ? Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1793602 Share on other sites More sharing options...
PookyMacMan Posted February 7, 2012 Author Share Posted February 7, 2012 Pentium D. I may have changed the DSDT since the last time, here it is: dsdt.aml.zip Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1793679 Share on other sites More sharing options...
LatinMcG Posted February 7, 2012 Share Posted February 7, 2012 btw u can save a proper ioreg .. not rtf Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1793711 Share on other sites More sharing options...
PookyMacMan Posted February 7, 2012 Author Share Posted February 7, 2012 Do I just specify a file, like cd ~/Desktop ioreg > ioreg.txt or do I do something else? Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1793824 Share on other sites More sharing options...
LatinMcG Posted February 7, 2012 Share Posted February 7, 2012 open ioregistry exlorer and goto save then point to a folder. done Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1793831 Share on other sites More sharing options...
PookyMacMan Posted February 7, 2012 Author Share Posted February 7, 2012 Ah, okay. Here you go: ioreg.zip Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1793913 Share on other sites More sharing options...
PookyMacMan Posted February 16, 2012 Author Share Posted February 16, 2012 I recently looked at a topic in the DSDT subforum that described presenting OS X with a different device ID for various hardware...is this the patch you are talking about? Have you looked at my DSDT/ioreg? Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1796776 Share on other sites More sharing options...
LatinMcG Posted February 16, 2012 Share Posted February 16, 2012 yes thats what i meant.. works with atheros. not broadcoms.. needs registers changed not dtgp method. i been bussy and my lcd was broken. Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1796820 Share on other sites More sharing options...
PookyMacMan Posted February 16, 2012 Author Share Posted February 16, 2012 So sorry about your LCD. There's no hurry. I'll try and see if I can figure it out on my own while you look at my DSDT/ioreg. Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1796828 Share on other sites More sharing options...
LatinMcG Posted February 16, 2012 Share Posted February 16, 2012 en0 and en1 are backwards.. wireless needs to be en1. i see its using ar9280 driver so lets fake with ar9285 fix to fake dev id 2a Device (PCI4) { Method (_S1D, 0, NotSerialized) { Return (One) } Method (_S3D, 0, NotSerialized) { If (HACK ()) { Return (0x03) } Else { Return (0x02) } } Method (_S4D, 0, NotSerialized) { If (HACK ()) { Return (0x03) } Else { Return (0x02) } } Method (_S5D, 0, NotSerialized) { If (HACK ()) { Return (0x03) } Else { Return (0x02) } } Method (_ADR, 0, NotSerialized) { Store (0x001E0000, Local0) Return (Local0) } Name (_UID, 0x07) Name (_PRW, Package (0x02) { 0x0B, 0x05 }) Method (_PRT, 0, NotSerialized) { Store (API4, Local0) If (LNot (PICF)) { Store (PIC4, Local0) } Return (Local0) } Device (LAN0) { Name (_ADR, 0x08) Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "built-in", Buffer (One) { 0x01 }, "location", Buffer (0x02) { "1" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (ARPT) { Name (_ADR, 0x05) Method (_DSM, 4, NotSerialized) { Store (Package (0x0A) { "AAPL,slot-name", Buffer (0x08) { "AirPort" }, "device-id", Buffer () { 0x2A, }, "device_type", Buffer (0x08) { "AirPort" }, "subsystem-id", Buffer (0x04) { 0x8F, 0x00, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x6B, 0x10, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } dsdtpookyarptlan0.aml.zip Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1796890 Share on other sites More sharing options...
PookyMacMan Posted February 16, 2012 Author Share Posted February 16, 2012 I'll switch en0 and en1 and use the AR9285 fix and get back. Thank you very much. Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1796902 Share on other sites More sharing options...
LatinMcG Posted February 16, 2012 Share Posted February 16, 2012 extract dsdt i posted above and rename to dsdt.aml then u know what to do boot snow one timewith -v -f i found the dsdt pci0 was _uid 0x04 not 0x00 fixed so now it might work with 10.6.8 i also aded LAN0 to _ADR, 0x08 as shown in ioreg to fix en0 in dsdt. also rtc showed last line 0x10 Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Method (_CRS, 0, NotSerialized) { Name (RTCB, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x10, // Length should be 0x08 or 0x02 ) }) Return (RTCB) } } should be 0x08 or 0x02 dont think i changed it yet. also the _INI shows if windows 2001 (xp) return msos 0x04 but that if changed to Darwin would cause issues with isli (SLI?) for windows only not osx.. would be enabled and not work right. so i did not change anything there. i also aded SBUS that was missing i see its chipset ich7.. i used ich8 sbus device id Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1796916 Share on other sites More sharing options...
PookyMacMan Posted February 16, 2012 Author Share Posted February 16, 2012 Yup, thank you very much. So when you add a device like a WiFi card to the DSDT, you simply add the whole device after the methods of the parent device (in this case PCI4)? Also, how did you know where to add the DTGP method? Sorry for the questions, but I really want to know how DSDT works. Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1796922 Share on other sites More sharing options...
LatinMcG Posted February 16, 2012 Share Posted February 16, 2012 Yup, thank you very much. So when you add a device like a WiFi card to the DSDT, you simply add the whole device after the methods of the parent device (in this case PCI4)? Also, how did you know where to add the DTGP method? Sorry for the questions, but I really want to know how DSDT works. dtgp goes anywhere on _SB not _SB.PCI0.. under or above _WAK works fine. i added whole device cause it uses PCI4@5 in ioreg which means its _ADR, 0x05 so i saw its missing and have to add whole device as attachment of the PCI4 @5 aka _ADR, 0x05 minus the _PRW thats handled by PCI4 in my laptop its not shared =RP02.PXS2@0 in ioreg so i just do _DSM and bellow to the line under _ADR, 0x00 not ad whole device .. i just rename PXS2 to ARPT and add _DSM section under _ADR line this doesnt seem to work with broadcoms due to the way driver accesses directly the device bypassing _DSM.= have to add registers with the device id numbers.. like the IOATA panic fix method Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1796929 Share on other sites More sharing options...
PookyMacMan Posted February 16, 2012 Author Share Posted February 16, 2012 Thank you very much! I just loaded the new DSDT and I'll see if the problem's fixed. So, what was the thing you mentioned about SLI? I don't use SLI but I'm curious...also, what were you talking about with the SBUS? Funny thing about the RTC, because I had fixed that last one so it wouldn't reset CMOS...guess I was still wrong. Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1796930 Share on other sites More sharing options...
LatinMcG Posted February 16, 2012 Share Posted February 16, 2012 Thank you very much! I just loaded the new DSDT and I'll see if the problem's fixed. So, what was the thing you mentioned about SLI? I don't use SLI but I'm curious...also, what were you talking about with the SBUS? Funny thing about the RTC, because I had fixed that last one so it wouldn't reset CMOS...guess I was still wrong. isli Method (ISLI, 0, NotSerialized) { If (CondRefOf (_OSI, Local0)) { If (_OSI ("Linux")) // Darwin ? { Return (One) } Else { Return (Zero) } } Else { Return (Zero) } } and this reacts to it Method (GUSB, 0, NotSerialized) { If (ISLI ()) // 1 or zero? Else SMI2 (0xBA) { Return (Zero) } Else { Return (SMI2 (0xBA)) } } amd this in wak also Method (_WAK, 1, NotSerialized) { If (LEqual (Arg0, 0x04)) // sleep state S4 { GUSB () // Zero or SMI (0xBA) ? } i think ISLI isnt SLi but a wake parameter for GUSB ?? as in usb wake from s4 ? SMI (0xBA) is the parameter that matters on wake. Intel Sleep LInux ? SBUS Device (SBUS) { Name (_ADR, 0x001F0003) search for 001F0003 in any dsdt to find sbus is missing on dells a lot so i added this basic SBUS of ich8= 283E Device (SBUS) { Name (_ADR, 0x001F0003) Device (BUS0) { Name (_CID, "smbus") Name (_ADR, Zero) Device (DVL0) { Name (_ADR, 0x57) Name (_CID, "diagsvault") } } Method (_DSM, 4, NotSerialized) { Store (Package (0x0A) { "built-in", Buffer (One) { 0x00 }, "name", "pci8086,283e", "device-id", Buffer (0x04) { 0x3E, 0x28, 0x00, 0x00 }, "subsystem-id", Buffer (0x04) { 0xA0, 0x00, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x6B, 0x10, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } last thing missing is IRQ removals. i have to check it in detail. with your testing = DSDT=hd(0,2)/Extra/testdsdt.aml Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1796934 Share on other sites More sharing options...
PookyMacMan Posted February 16, 2012 Author Share Posted February 16, 2012 Thanks for all the patches. Wireless works like a charm. However, 10.6.8 still bombs...hope I can get it worked out. Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1797008 Share on other sites More sharing options...
LatinMcG Posted February 17, 2012 Share Posted February 17, 2012 try macpro3,1 smbios whats the error log ? try -v -f npci=0x2000 try this ... i found LPC was not loading so i faked device id ich8 lpc dsdtLPC.aml.zip Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1797013 Share on other sites More sharing options...
PookyMacMan Posted February 19, 2012 Author Share Posted February 19, 2012 I have a MacPro1,1 SMBIOS because I have a Pentium D (thinking that 1,1 is closest in manufacturing year to the Pentium D), is this wrong? The npci flag fixed it! Before it would boot successfully but a garbled screen would be displayed; as far as I know there were no errors, but now it will boot with QE/CI in 10.6.8! Thank you, thank you!! (I did add the npci flag in my org.chameleon.boot.plist) Now, there are a couple annoyances; for one, wireless is having problems again...this time, when I try to turn it on in Sys Prefs, it beachballs for about 5 seconds and doesn't end up turning AirPort on. What do you think is the matter? Fixed by installing /System/Library/SystemConfiguration/IO80211AirPortMonitor.bundle. I've noticed that the computer is in general not as fast to respond as in 10.6.7 (and the login window doesn't come in as smoothly as usual), and looking in activity monitor the kernel_task process takes up 60-65 threads? Is this normal? I still need to load the DSDT; once I do I will report back with results. Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1797980 Share on other sites More sharing options...
LatinMcG Posted February 19, 2012 Share Posted February 19, 2012 ive noticed in laptops the macbookpro4,1 made wireless not work and laggy overall response.. make sure u check smbios with chameleon wizard try imac8 or 9 or 10 io80211AirportMonitor.bundle Link to comment https://www.insanelymac.com/forum/topic/274409-tp-link-tl-wn851n-connection-dropping/#findComment-1798192 Share on other sites More sharing options...
Recommended Posts