Mac Pro 10.4.10 AutoNegotiation Woes

In case you didn’t know, MacPro’s with 10.4.10 are connecting at 10Mb speeds to 1000Mb switches and hubs… bummer :(

So a kext is the culprit:
/System/Library/Extensions/IONetworkingFamily.kext/
Contents/PlugIns/AppleIntel8254XEthernet.kext

In 10.4.9 it’s version is 1.1.7a3, in 10.4.10 it is 1.1.8a2, in 10.4.11 it is 1.1.8a6
That doesn’t matter much really, but that’s the details.

So you gotta roll back the kext:
1. Get the 10.4.9 Intel Combo Updater
2. Get OpenUp or Pacifist
3. Open the DMG
4. Show contents on the PKG
5. Copy out the pax.gz file to the desktop
6. un-Gzip the pax, and open that up (with Pacifist or OpenUp)
7. Get the old IONetworkingFamily.kext
8. Copy it into your /System/Library/Extentions

Now, the ownership on the kext need to be changed to root:wheel or if you’re in Finder system:wheel
Also, you should either delete the kernel caches or:
sudo touch /System/Library/Extensions
this changes the date stamp on the directory and OS X will recreate the kernel caches…

And yes, the 10.4.11 seed update corrects this.

Bonus Log files: These have been “prettied up” for readability, but you’ll see, 10.4.10’s driver is just spitting out Zer0s so the network switch/hub has no choice but to say “O K… I ‘ l l s p e a k s l o w e r t h e n…”

10.4.9:
Auto-Neg Advertise Reg (04d) = 0xde1,
Link Partner Ability Reg (05d) = 0xc5e1,
Gig Advertise Reg (09d) = 0xe00,
Gig Link Partner Ability Reg (10d) = 0x7800

10.4.10:
Auto-Neg Advertise Reg (04d) = 0xde1,
Link Partner Ability Reg (05d) = 0x0,
Gig Advertise Reg (09d) = 0xe00,
Gig Link Partner Ability Reg (10d) = 0x0

10.4.11(seed, much prettier logging in this kext):
Auto-Negotiation Advertisement Register (04d) = 0xde1
Auto-Negotiation Link Partner Ability Register (05d) = 0xc5e1
Auto-Negotiation Gigabit Advertisement Register (09d) = 0xe00
Auto-Negotiation Gigabit Link Partner Ability Register (10d) = 0x7800
PHY Specific Status Register (17d) = 0xaf48

If this info from 10.4.11 is NDA well bite me, I think people should know it’ll be fixed in the future, right? :)

What’s in the MacBook, MacBook Pro Software Update 1.0?

Well they forgot to enable Journalling so they just have to turn it back on with this update. And after it runs the .dist file and makes sure you have the right machine, it runs this command:
/System/Library/Filesystems/hfs.fs/hfs.util -J /
You’ll find it in the postflight file. Besides that it installs a blank dummy file in /var/tmp, because otherwise a package will complain that it didn’t have anything to do!

Anyhoo, to check to see if you have Journalling installed, there are many ways, but here’s the Terminal way:
/System/Library/Filesystems/hfs.fs/hfs.util -I /

What’s in the Quicktime 7.2 Compatibility Update?

So just one file gets updated:
/System/Library/QuickTime/QuickTimeComponents.component
There are some telling strings about a JPEG2000 update in this file:
/SourceCache/QuickTime/QuickTime-616/Warhol/CodecManager/JP2Codec2/JP2Interface/Kakadu/apps/jp2/jp2.cpp

Warhol: that was the name of Quicktime when it was in development and apparently still around for nostalgia’s sake
Kakadu: This is a C++ framework for JPEG2000 handling, which is not just for stills, it can do motion too. I’ve always Vjed with MJPEG clips for quality’s sake.
QuickTime-616: The previous version of QuickTimeComponents.component contained QuickTime-579, and the Kakadu website mentions they are up to version six now, so it would seem this version number is related to Kakadu and not Quicktime? However I seem to remember QT Player Versions numbers and API’s don’t always sync…

However I can’t say exactly what else is in this binary file that improves compatibility with iLife. And I don’t think I’m gonna bust out otool and find out either. Pick up Amit Singh’s book for How-To’s on that :)

What’s in the iMac Software Update 1.1

Another minimal blurb from Apple

About iMac Software Update 1.1
This update provides important bug fixes and is recommended for 20-inch and 24-inch iMac models with 2.0, 2.4, or 2.8GHz processors

OK so guess what the bug fixes are for?
That’s right more graphics stuff!

/System/Library/Displays/Overrides/DisplayVendorID-610
/System/Library/Extensions/ATINDRV.kext
/System/Library/Extensions/ATIRadeonX2000.kext
/System/Library/Extensions/ATIRadeonX2000GA.plugin
/System/Library/Extensions/ATIRadeonX2000GLDriver.bundle
/usr/libexec/oah/Shims/GLEngine.bundle

The Displays/Overrides file has all sorts of gamma values and RGB color points for the display to use. Then a couple kernel extensions for the video card, some plugins, drive bundle, and the Rosetta GLEngine. So an all round Universal patch fest for the drivers. Is AMD/ATI gettin’ to work or what!

However on second thought is the overides file with it’s color information a response to the 18-bit color reproduction issues some people have been talking about? Hmmmm….

What is in the iMac Software Update 1.0

Apple – Support – Downloads – iMac Software Update 1.0

About iMac Software Update 1.0
This update provides important bug fixes and is recommended for 20-inch and 24-inch iMac models with 2.0, 2.4, or 2.8GHz processors.

Ummmm…. OK that’s nebulous and user friendly, but what are they really updating?

/System/Library/Extensions/ATINDRV.kext/Contents/PlugIns/ATY_Hypoprion.kext
/System/Library/Extensions/ATINDRV.kext/Contents/PlugIns/ATY_Iago.kext
/System/Library/Extensions/ATIRadeonX2000.kext
/System/Library/Extensions/ATIRadeonX2000GA.plugin
/System/Library/Extensions/ATIRadeonX2000GLDriver.bundle
/System/Library/Extensions/ATIRadeonX2000VADriver.bundle

Some more graphics drivers updates, just like the Mac Book Pro Software Update.

/usr/libexec/oah/translate
/usr/libexec/oah/Shims/GLEngine.bundle

And to expound more on that, these two items are the Rosetta PPC-to-Intel binary translator and the OpenGL bundle that is called by PPC games needing OpenGL routines in Rosetta.

So… I guess that means that the copy of Marble Blast Gold that I’ve hung on too since my first iMac will be even more awesome on a new 24″ iMac ;) It’s nice to know, though, that they are working hard to maintain support for PPC graphics apps.

Airport Disk Utility hijinks

The new Airport Extreme has USB disk sharing and I’ve been testing my new RAID 1 system using the Airport Disk Utility. It allows attached disks to be shared by many other Macs on the same network. So far it’s been good and I wanted to try it out on my other Macs.

First, I found out if you lose your Installer CD you’ll need to do some work to get the Airport Disk. The only Apple download that has it requires that you have the Airport 5.0 Utility installed on your Mac to run the update, and it’s found only on the install CD, no download for you! Second if you do have the CD, you still might need some help making a backup of it!

There are some similar help topics out there, I know, but I want to focus on just the Aiport Disk Utility, something you might want on all your Macs.

  • Download AirPortBaseStationUpdate2007001 from Apple, mount it.
  • Right Click and Show Package Contents on AirPortBaseStationUpdate2007001.mpkg
  • Drill down to AirPortDisk.pkg and do the same
  • Copy Archive.pax.gz to your Desktop and open it, a new folder will be created named Archive.
  • Copy the folders within Archive to their counterpart folders, you will need admin privledges for the System folder items
  • /Applications/Utilities/AirPort Disk Utility.app
    /System/Library/Contextual Menu Items/AirPort Disk Menu.plugin
    /System/Library/CoreServices/AirPort Disk Agent.app

    The key was copying, the Agent and the Utility, the Contextual plugin didn’t seem to affect anything. Also, your other Macs don’t need to use Airport either, I have a Cube with Ethernet only and its able to see and mount the remote drive just fine, Folder Actions even work. Cool.

    Bonus Backup Tip:
    So after doing all that I found my CD! Yay! Time to do a backup, I’ll just copy out the Installer I say. So I click on the Installer Alias do an ⌘R to Reveal and I see just a flash and the same thing, no hidden folder, no don’t tell me… I take a look in Terminal. There it is! Airport.mpkg, right there in the root of the CD. I cp the package to my ~/Desktop and still nothing, oh god. I smell cruft. So I break out Beige Box Cleaner along with Xfile and sure enough, kIsInvisible, the HFS flag, is set on the package. Ironic that my Airport network name is Invisible. This flag is easily cleared with BBC or also with the Developer tools and this Terminal command /Developer/Tools/SetFile -a v Aiport.mpkg

    Anyhoo. This brings up some the point of why Apple is not releasing this capability to other Macs (has that stopped them before, i.e. Front Row)? Is it like the Aiport Extreme Updater situations, where they charged $2.99 for bookkeeping reasons? Or is it because they still trying to limit the amount of pre-N Airport code that is floating out there until another release comes out? Or still yet, are they are hoping to put a lot more functionality in conjunction with Leopard’s Back to My Mac, feature that must work with the unexplained Bonjour services in the Aiport Extreme to globally advertise you Mac’s hard drive. I think yes with all of these things. In the meantime happy package hacking.

    Oh yes, also, maybe they are working on some super awesome iPhone integration, yeah, that’s it. You just have to wait until the planets align and an unannounced feature is added to your iPhone. You know, like the ones people have found but aren’t live yet…

    What is in the MacBook Pro software update?

    Any wild guesses what the MacBook Pro software update has in it? I thought it had something to do with the Core 2 errata some people have been making a stink about lately. But nope, it’s Open GL fixes and man pages apparently. Let’s take a look inside at the major bits..

    /System/Library/Extensions/GeForce.kext
    /System/Library/Extensions/GeForceGA.plugin
    /System/Library/Extensions/GeForceVADriver.bundle
    /System/Library/Extensions/NVDANV50Hal.kext
    /System/Library/Extensions/NVDAResman.kext
    /System/Library/Frameworks/OpenGL.framework
    /usr/libexec/oah/Shims/GLEngine.bundle
    /usr/libexec/oah/translate

    And then a whole bevy of man pages on GLUT and other OpenGL calls in:
    /usr/share/man/man3/gl*.3

    While the GLUT framework is in all Tiger builds. The odd thing is that these man pages can’t be found in any other Tiger build, will 10.4.11 bring this to other Tiger developers?

    I think this underscores the commitment that Apple made to Game Developers at WWDC, getting more documentation and suport for GLUT could get more apps ported/developed on the Mac. And that’s a good thing. A day will come when I impulse purchase that $5 closeout first-person shooter at MicroCenter because it runs on Mac & PC!

    Yahoo! Sync

    10.4.10 is out! It now offers better Bluetooth support, RAW image handling improvements, control-Eject… <yawn>. What an understatement! As with all point releases Apple quietly sets the stage for the next act. The iPhone. So with that, there is a new app in town to help out with syncing your contacts to your iPhone, Yahoo! Sync

    So for those who like spelunking start with:
    /System/Library/PrivateFrameworks/YahooSync.framework

    And yes, there will be a Windows version too. Check the strings…