packagefixer Posted July 19, 2006 Share Posted July 19, 2006 m.musashi: In an attempt to make installation easier I created a package installer from the "skge.kext.02d.zip" archive. Â Tested installation (since in my actual case I didn't need to edit the plist for it to work) and then started examining the plist file and am now wondering why you didn't add additional profiles to cover the other vendor ID's? Â You do realize you can do something like the following: (probably better example exists in the Extension dir) <key>IOKitPersonalities</key> <dict> <key>skge1/key> <dict> <key>CFBundleIdentifier</key> <string>com.musashi.skge1/string> <key>DescriptorPoolTimer</key> <integer>250</integer> <key>EnableLowPwr</key> <integer>0</integer> <key>IOClass</key> <string>skgeosx</string> <key>IOKitDebug</key> <integer>65535</integer> <key>IOMatchCategory</key> <string>skge1/string> <key>IOPCIPrimaryMatch</key> <string>0x432011AB</string> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>IOResourceMatch</key> <string>IOKit</string> <key>Model</key> <string>Yukon-88E8001</string> <key>RxRingSize</key> <integer>256</integer> <key>TxRingSize</key> <integer>256</integer> <key>Vendor</key> <string>Marvell</string> <key>WaitForLinkUp</key> <integer>6000</integer> <key>WaitToCheckDelay</key> <integer>10000</integer> </dict> <key>skge2/key> <dict> <key>CFBundleIdentifier</key> <string>com.musashi.skge2/string> <key>DescriptorPoolTimer</key> <integer>250</integer> <key>EnableLowPwr</key> <integer>0</integer> <key>IOClass</key> <string>skgeosx</string> <key>IOKitDebug</key> <integer>65535</integer> <key>IOMatchCategory</key> <string>skge2/string> <key>IOPCIPrimaryMatch</key> <string>0x432011AB</string> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>IOResourceMatch</key> <string>IOKit</string> <key>Model</key> <string>Yukon-88E8001</string> <key>RxRingSize</key> <integer>256</integer> <key>TxRingSize</key> <integer>256</integer> <key>Vendor</key> <string>Marvell</string> <key>WaitForLinkUp</key> <integer>6000</integer> <key>WaitToCheckDelay</key> <integer>10000</integer> </dict> <key>skge3</key> <dict> <key>CFBundleIdentifier</key> <string>com.musashi.skge3</string> <key>DescriptorPoolTimer</key> <integer>250</integer> <key>EnableLowPwr</key> <integer>0</integer> <key>IOClass</key> <string>skge3osx</string> <key>IOKitDebug</key> <integer>65535</integer> <key>IOMatchCategory</key> <string>skge3</string> <key>IOPCIPrimaryMatch</key> <string>0x432011AB</string> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>IOResourceMatch</key> <string>IOKit</string> <key>Model</key> <string>Yukon-88E8001</string> <key>RxRingSize</key> <integer>256</integer> <key>TxRingSize</key> <integer>256</integer> <key>Vendor</key> <string>Marvell</string> <key>WaitForLinkUp</key> <integer>6000</integer> <key>WaitToCheckDelay</key> <integer>10000</integer> </dict> </dict> All vendor ID's are the same because I didn't have the info to add it but you get the idea. Â Here's the package Marvell.Gigabit.pkg.zip Link to comment Share on other sites More sharing options...
Lt. Xenodite Posted July 24, 2006 Share Posted July 24, 2006 This worked IMMEDIATELY! WOW! THANK YOU FOR MAKING THIS Â Just for the record: DFI LANParty UT NF4 Ultra-D (dunno which Marvell Yukon ver, but probably 88E8001 too) Â THANKS!!! =D LTX Link to comment Share on other sites More sharing options...
numberonekiwi Posted July 31, 2006 Share Posted July 31, 2006 thanks heaps musashi works with Asus K8V-SE will be adding this file to my customised install disk I have now removed my RTL8139 card and throughly test this new driver Link to comment Share on other sites More sharing options...
tuosd Posted August 6, 2006 Share Posted August 6, 2006 works perfectly for my on board Marvell Yukon 88E8001 on Asus A8V. Â Thanks m.musashi for your great work! Link to comment Share on other sites More sharing options...
Vlin Posted August 6, 2006 Share Posted August 6, 2006 I bow to you. I am online finally! :pirate2: Link to comment Share on other sites More sharing options...
fxfc Posted August 17, 2006 Share Posted August 17, 2006 Please guys help me...  I'm a noob in Mac OS and I need to make the ethernet card to work.   I got the skge.kext and used it, but still no good  my motherboard is an asus p4p800 with 3com gigabit lom (3c940) network board  i changed the info.plist vendor id to 0x170010B7 , the model to 3c940 and the vendor to 3com but it didn't work  i got no skeg lines in dmesg.... the only thing i could find was a line with  ethernet: family specific matching fails  What did I do wrong??? please help me!! Link to comment Share on other sites More sharing options...
VirtualGuitarist Posted August 21, 2006 Share Posted August 21, 2006 Hi packagefixer, i think there is a command for grab the vendor/device ID directly from the system profiler. Should it be simpler for your installer to take it and automatically write it to the info.plist (only if needed) ? Â Thanks to m.musashi and to you for this great work. Link to comment Share on other sites More sharing options...
m.musashi Posted August 22, 2006 Author Share Posted August 22, 2006 source code attached for those brave enough to plunge into the depth of IOKit  some notes to clear a couple of points: - I have not changed the plist to include all ven/devids as I believe this is still a hackers environment. If you don't know how to modify a plist and load a kext manually then you shouldn't be using Mac OSX on x86. That's IMHO. - For better version management and for the best interest of users (i.e. avoid confusion), I believe it would be a good thing to keep future versions of the driver in this thread. As stated in the first msg, email the source to me and I'll attach it in the first page with your name and all. Assuming it works of course.  bye Link to comment Share on other sites More sharing options...
RobNyc Posted August 22, 2006 Share Posted August 22, 2006 <3 musashi for writing this driver for us. keep us up to date Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted August 23, 2006 Share Posted August 23, 2006 Here's the driver I've put together to support the Marvell Yukon 88E8001. Hopefully you have the time now to adjust the source cause when I did have a machine with the card and the time, the source wasn't available. Â I believe you can set this up easily as done in the AppleGMACEthernet driver with something like // in skge.h (public:) bool fBuiltin; // UniN builtin = 1; PCI card = 0 bool fYukon; // in your start(), also see: UniNEnet::wakeUp() in AppleGMACEthernet. // you could use the names you list in skge_chips() as match names. fBuiltin = matchEntry->isEqualTo( "yukonosx" ) || matchEntry->isEqualTo( "Yukon"); fYukon = matchEntry->isEqualTo( "Yukon-LP") || matchEntry->isEqualTo( "Yukon-Lite"); // alternate PHY ID's of course you'll have to adjust your detection to match names on hardware and PCI and don't forget to mark the controller as enabled (and disabled). netifEnabled = true; /* Mark the controller as enabled by the interface. */ netifEnabled = false; /* Mark the controller as disabled by the interface. */ as you start (and stop) the interface. Â Of course this is incomplete but it does provide a generalized concept to work from. Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted August 23, 2006 Share Posted August 23, 2006 I am unable to confirm any more at this time other than using ARD to see the issue however it warrants looking into further to determine if it is a conflict of some kind with dual cards installed or that the MTU size cannot be changed. Â I was not permitted enough access to change any settings on en0 so I have no idea if the problem exists there as well. Â As reported and viewed (due to a customization requirement of the second ethernet MTU of 700), the issue has to do with manually setting the MTU size in the Network preferences and despite the setting change, the size remains at 1500 and the application notes the 1500 and complains with an alert that it has not been set to 700 and clicking OK quits the applications and opens the Network preference to have the user set it. Â Since the settings don't seem to be taking effect, it's an endless loop I thought I'd take a quick look and see if anything jumped out at me but other than some unrelated warnings nothing really looked out of place. Â I also had build issues within the ADE (Apple Developer Environment) due to the Kernel framework (reworked this to the IOKit framework) and ended up repackaging the project with a package maker phase. Â I've tested it in the x86 OS using the standard XCode and it seems to build OK there and I also noticed some warning that needed attention so I adjusted those as well. Â I was curious about your struct implemntation with skge_chips but figured you knew more about your intened purpose so I left it alone. Â Here's a quick diff on some of the source changes/corrections: --- /skge_02d/skge.cpp 2006-08-23 01:54:00.000000000 -0400 +++ /SKGE/skge.cpp 2006-08-23 14:03:38.000000000 -0400 @@ -204,7 +204,7 @@ super::free(); if(d_rx_mbuf!=0 || d_tx_mbuf!=0) { - IOLog("%s ERR: leaking rx_mbuf:%d tx_mbuf:%d\n",getName()),d_rx_mbuf,d_tx_mbuf; + IOLog("%s ERR: leaking rx_mbuf:%d tx_mbuf:%d\n",getName(),d_rx_mbuf,d_tx_mbuf); } // IOLog("free() <===\n"); @@ -315,7 +315,7 @@ } while ( false ); - IOLog("%s : checking rx_mbuf:%d tx_mbuf:%d\n",getName()),d_rx_mbuf,d_tx_mbuf; + IOLog("%s : checking rx_mbuf:%d tx_mbuf:%d\n",getName(),d_rx_mbuf,d_tx_mbuf); IOLog("%s: Disabled!\n", getName()); // IOLog("disable() <===\n"); return ( ret ? kIOReturnSuccess : kIOReturnIOError ); @@ -380,7 +380,7 @@ if ( txActiveCount > TRANSMIT_QUEUE_LENGTH ) { - IOLog( "%s ERR: ouputPacket() stall %d:%d:%d\n", getName(), txActiveCount, txHead, txTail ); + IOLog( "%s ERR: ouputPacket() stall %d:%d:%d\n", getName(), (int) txActiveCount, (int) txHead, (int) txTail ); netStats->outputErrors++; return kIOReturnOutputStall; } @@ -757,7 +757,7 @@ bytes = (DEFAULT_RX_RING_SIZE + 1)* sizeof(struct skge_rx_desc); rx_md = IOBufferMemoryDescriptor::withOptions(kIOMemoryPhysicallyContiguous, bytes, PAGE_SIZE ); if ( rx_md ==0 || rx_md->prepare() != kIOReturnSuccess ) { - IOLog("%s ERR: RX can't allocate %d contiguous bytes\n", getName(), bytes); + IOLog("%s ERR: RX can't allocate %d contiguous bytes\n", getName(), (int) bytes); return false; } rx_desc_ring = (skge_rx_desc *) rx_md->getBytesNoCopy(); //Returns a reference to the OSData object's internal data buffer @@ -769,7 +769,7 @@ bytes = (DEFAULT_TX_RING_SIZE + 1)* sizeof(struct skge_tx_desc); tx_md = IOBufferMemoryDescriptor::withOptions(kIOMemoryPhysicallyContiguous,bytes,PAGE_SIZE ); if ( tx_md ==0 || tx_md->prepare() != kIOReturnSuccess ) { - IOLog("%s ERR: TX can't allocate %d contiguous bytes\n", getName(), bytes); + IOLog("%s ERR: TX can't allocate %d contiguous bytes\n", getName(), (int) bytes); return false; } tx_desc_ring = (skge_tx_desc *) tx_md->getBytesNoCopy(); //Returns a reference to the OSData object's internal data buffer @@ -941,9 +941,6 @@ } } -irq_done: - skge_write32(B0_IMSK, intr_mask); -// IOLog("interruptOccurred() <===\n"); } } @@ -984,7 +981,7 @@ // myerr = +1; if (rx_desc_ring[ i ].status & GMR_FS_RX_OK == 0) //bad_phy_status(status) for CHIP MARVELL only myerr = +1; - if ((rx_desc_ring[ i ].status >> GMR_FS_LEN_SHIFT) != len) //phy_length(status) for CHIP MARVELL only + if ((rx_desc_ring[ i ].status & GMR_FS_LEN_SHIFT) != (unsigned int) len) //phy_length(status) for CHIP MARVELL only myerr = +1; //reject bad packets if (myerr){ Â I've attached the new package and when you tell me you've grabbed it I'll edit the post and remove it after you let me know you have it (I don't need any credit). Â The Info.plist has been removed and is generated (editable from within the package TARGETS->SKGE). Â PLEAE NOTE: THIS SOURCE PACKAGE IS NOT INTENDED FOR USE BY ANYONE OTHER THAN THE ORIGINAL AUTHOR. IT WILL MORE THAN LIKELY BE MODIFIED EVEN MORE SO PLEASE DO NOT DOWNLOAD. NO SUPPORT FOR THIS CODE OR IT'S GENERATED BINARY WILL BE PROVIDED BY MYSELF OR THE AUTHOR!!! SKGE.zip Link to comment Share on other sites More sharing options...
miramar Posted August 24, 2006 Share Posted August 24, 2006 Firstly, thanks to musashi and all involved in the development of the skge extension. I'd like to report some strange behaviour after I installed skge.ext 0.2d.  M/B: Asrock ConroeXfire-eSata2 with a Core 2 Duo E6600 GBLan: Dlink DGE-530T(88E8003-LKJ) PCI card OSX: Fresh install from the recently available JaS 10.4.7 DVD SKGE: skge.kext 0.2d HD: WD 250GB SATA2  My IDE bios setting is set to Native/AHCI. OSX installs fine and runs fine. I install skge.kext 0.2d(after editing Info.plist, deleted Extensions.kextcache & Extensions.mkext) and reboot.  The result is "Waiting for root device".  I have to change my IDE bios setting to Native/IDE to overcome this. Now OSX will boot up OK and 100mbit network works fine via DHCP or manual IP setting. I also noticed some strange errors in dmesg output regarding failed pcimatches. Despite this OSX seems to be working fine.  If I "rm -R /System/Library/Extensions/skge.kext", things return to what it was before I installed skge. So clearly skge.kext is having an effect on OSX.  ethernet: family specific matching fails SBRG: family specific matching fails IDE0: family specific matching fails IDE1: family specific matching fails EUSB: family specific matching fails P0P4: family specific matching fails P0P8: family specific matching fails P0P9: family specific matching fails ethernet: family specific matching fails USB0: family specific matching fails USB1: family specific matching fails USB2: family specific matching fails USB3: family specific matching fails pci8086,27da: family specific matching fails pci8086,27d8: family specific matching fails pci8086,2770: family specific matching fails Matching service count = 1 skgeosx::probe(ethernet) skgeosx::start(ethernet) <1> skgeosx: SKGE for OSx86 v0.2d ---- M.Musashi ©2006 skgeosx: VendorID:1186 DeviceID:4c00 Rev:11 skgeosx: board is Yukon I have attached both dmesg output before & after skge installation. dmesg_before_skge_install.txtdmesg_after_skge_install.txt Thanks,  mir... Link to comment Share on other sites More sharing options...
Kevin Yang Posted August 26, 2006 Share Posted August 26, 2006 This is so great!!! it works like a charm, thanks man! Link to comment Share on other sites More sharing options...
hugis Posted August 27, 2006 Share Posted August 27, 2006 Worked an absolute treat straight out the box P4P800E-Deluxe (88E8001) Swapped files between a G3 lombard and my intel machine with a cross over cable. Â Sweet god work .... Link to comment Share on other sites More sharing options...
nikongeek Posted August 27, 2006 Share Posted August 27, 2006 Firstly, thanks to musashi and all involved in the development of the skge extension. I'd like to report some strange behaviour after I installed skge.ext 0.2d. M/B: Asrock ConroeXfire-eSata2 with a Core 2 Duo E6600 GBLan: Dlink DGE-530T(88E8003-LKJ) PCI card OSX: Fresh install from the recently available JaS 10.4.7 DVD SKGE: skge.kext 0.2d HD: WD 250GB SATA2  My IDE bios setting is set to Native/AHCI. OSX installs fine and runs fine. I install skge.kext 0.2d(after editing Info.plist, deleted Extensions.kextcache & Extensions.mkext) and reboot.  The result is "Waiting for root device".  I have to change my IDE bios setting to Native/IDE to overcome this. Now OSX will boot up OK and 100mbit network works fine via DHCP or manual IP setting. I also noticed some strange errors in dmesg output regarding failed pcimatches. Despite this OSX seems to be working fine.  If I "rm -R /System/Library/Extensions/skge.kext", things return to what it was before I installed skge. So clearly skge.kext is having an effect on OSX.  ethernet: family specific matching fails SBRG: family specific matching fails IDE0: family specific matching fails IDE1: family specific matching fails EUSB: family specific matching fails P0P4: family specific matching fails P0P8: family specific matching fails P0P9: family specific matching fails ethernet: family specific matching fails USB0: family specific matching fails USB1: family specific matching fails USB2: family specific matching fails USB3: family specific matching fails pci8086,27da: family specific matching fails pci8086,27d8: family specific matching fails pci8086,2770: family specific matching fails Matching service count = 1 skgeosx::probe(ethernet) skgeosx::start(ethernet) <1> skgeosx: SKGE for OSx86 v0.2d ---- M.Musashi ©2006 skgeosx: VendorID:1186 DeviceID:4c00 Rev:11 skgeosx: board is Yukon I have attached both dmesg output before & after skge installation. dmesg_before_skge_install.txtdmesg_after_skge_install.txt Thanks,  mir...  I just got up and running with the Yukon driver. Thank you very much. It must have taken a lot of time, hopefully we can repay you somehow (paypal?).  Attached you will find my dmesg log, which is showing the same behavior as the quoted post above from miramar.  M/B: ASUS A8V Deluxe with an AMD64 3000 / 939 GBLan: Marvell Yukon 88E8001 built-in OSX: Fresh install 10.4.5 from the myzar DVD skgeosx: SKGE for OSx86 v0.2d ---- M.Musashi ©2006 skgeosx: VendorID:11ab DeviceID:4320 Rev:13 skgeosx: board is Yukon-Lite  Also, if the permissions on the SKGE kext file is not set to User: "System", Group: "Wheel", i couldn't get it to load or see it in the Network panel. Saved_Terminal_Output.txt Link to comment Share on other sites More sharing options...
sozza Posted September 2, 2006 Share Posted September 2, 2006 These work brilliantly. Well done gentlemen and thank you so much. All of my other OSX installs and configurations have been a lot easier than on this machine for my brother and you have supplied the missing link. Thanks again. Respect. Link to comment Share on other sites More sharing options...
m14000 Posted September 3, 2006 Share Posted September 3, 2006 Thanks Works great with My p4p800 (10.4.5) Link to comment Share on other sites More sharing options...
m.musashi Posted September 4, 2006 Author Share Posted September 4, 2006 buildsmart: thanks for the debug. I've downloaded the zip file  Guys, at the moment I'm too busy with my real life job and don't have any time to devote to this project or to Osx86 in general. The driver works and that's fine at the moment.  As soon as I'll have a couple of spare hours I'll integrate Buildsmart comments (debug and built-in detection routine) and will release a new version of the driver.  In the meantime, have fun!  bye    hopefully we can repay you somehow (paypal?).  No need, but thanks anyway  Attached you will find my dmesg log, which is showing the same behavior as the quoted post above from miramar. behaviour is normal with this "debug" release of the driver; it's not an indication the driver is not working, quite the opposite  Also, if the permissions on the SKGE kext file is not set to User: "System", Group: "Wheel", i couldn't get it to load or see it in the Network panel. this also is perfectly normal: it happens with all kexts Link to comment Share on other sites More sharing options...
svfusion Posted September 4, 2006 Share Posted September 4, 2006 I can not get it to work with Asus P4P800. I am sure I am just doing something wrong, do I need to copy the zip or the dir or what do i need to copy over to the folders. Thanks for your hard work, I am sure they will be rocking when I get them up. Link to comment Share on other sites More sharing options...
svfusion Posted September 4, 2006 Share Posted September 4, 2006 shouldn't the green light on my nic come on even if the driver isn't installed? Link to comment Share on other sites More sharing options...
AnXa Posted September 5, 2006 Share Posted September 5, 2006 You are my idol!!! I got net working on OSX... Oh Thank you so much!!! Link to comment Share on other sites More sharing options...
Twinkikabuki Posted September 6, 2006 Share Posted September 6, 2006 Musashi, if you can get what BuildSmart was talking about going, i will love you for the rest of my days. Thanks for still being around. Link to comment Share on other sites More sharing options...
Mr.Sticky Posted September 8, 2006 Share Posted September 8, 2006 This driver has been working great for me over the last month or so. I was tweaking my network though, and noticed that jumbo frames (MTU 9000) isn't available in the advanced network settings. I dont mean to be demanding at all, cause i'm greatful for the time donated to this project, but is it possible to enable that feature? From what i understand this will increase network efficiency on big file transfers. Cheers, IAN Link to comment Share on other sites More sharing options...
WilBUR Posted September 30, 2006 Share Posted September 30, 2006 not exactly sure how to enter the password part Link to comment Share on other sites More sharing options...
Rammjet Posted September 30, 2006 Share Posted September 30, 2006 not exactly sure how to enter the password part When you type "sudo -s" into Terminal, it will respond by asking for your password. Give it your password and hit Enter. Link to comment Share on other sites More sharing options...
Recommended Posts