Thursday 28 December 2006

Breakthrough? GPS-CS1 works on new Macbook

Update 29th December

I know some Mac owners have been considering buying a GPS-CS1, but have been put off because no-one has been able to get it to work on a Mac yet.

Well on new Core 2 Duo Macbooks, it seems it does work. For all other Mac owners, you might want to wait a few weeks. It's possible that your Mac may start to recognise the GPS-CS1 very soon.

See the details in the original post below for more info, but it appears that Kernel version 8.8.3 (on the new MacBook) supports the GPS-CS1. Now, Mac OS X version 10.4.9 is currently with ADC developers for testing - and this release is based on Kernel version 8.8.5

So it may be that all Mac OS X Tiger users will receive a software update to 10.4.9 soon (perhaps mid-January) that could fix the GPS-CS1.

Come back here once 10.4.9 is released to see if anyone can confirm this. Come back before then too just in case there are any earlier updates to this story.


...

If you've kept up to date with recent comments on this blog, you may have seen a comment from Meikel with the important development that the GPS-CS1 mounts as a removable drive on a brand new (Core Duo) Macbook running Mac OS X 10.4.8

Meikel has kindly provided me with lots of system and logging info from this system and I will post this in due course. However certain things stood out immediately.

First, looking at the ioreg output, it is significantly different at the IOMedia level and below:


| | | | | +-o GENERIC Card Memory R/W Media <class IOMedia, registered, matched, active, busy 0, retain count 8>
| | | | | | {
| | | | | | "Leaf" = Yes
| | | | | | "Writable" = No
| | | | | | "BSD Minor" = 3
| | | | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | | | "Preferred Block Size" = 512
| | | | | | "BSD Major" = 14
| | | | | | "BSD Name" = "disk1"
| | | | | | "Size" = 33546752
| | | | | | "Content Hint" = ""
| | | | | | "Removable" = Yes
| | | | | | "IOMediaIcon" = {"IOBundleResourceFile"="Removable.icns","CFBundleIdentifier"="com.apple.iokit.IOStorageFamily"}
| | | | | | "BSD Unit" = 1
| | | | | | "Ejectable" = Yes
| | | | | | "Content" = ""
| | | | | | "Whole" = Yes
| | | | | | }
| | | | | |
| | | | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain count 6>
| | | | | {
| | | | | "IOProbeScore" = 30000
| | | | | "IOResourceMatch" = "IOBSD"
| | | | | "IOClass" = "IOMediaBSDClient"
| | | | | "IOProviderClass" = "IOMedia"
| | | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | | }

Where on my (and other) Macs the level below IOMedia was showing AppleXsanFilter, on the working Macbook it shows IOMediaBSDClient. This is what I predicted it should be because it is what I saw when I plugged in a standard Sony memory stick.

I noticed also that at the IOMedia level there is a lot of BSD information that isn't present at that level on my iMac. Furthermore on the working machine, the value of "Leaf" is Yes - on my iMac, it is No.

So I think that's the problem. What is the cause?

Something else that was immediately obvious was the difference between my and Meikel's System Profiles.

Meikel's Macbook has a new build of Mac OS X (8N1150). The kernel version is 8.8.3. My kernel version (on a PPC G5) is 8.8.0. Looking at the extensions, there are newer versions of key kexts on the working Mac...

Working Mac

IOUSBMassStorageClass version 1.4.7 20/10/2006
IOSCSIBlockCommandsDevice version 1.5.1 20/10/2006
IOUSBFamily version 2.6.1 19/10/2006
IOStorageFamily version 1.5.1 19/10/2006

Non-working Mac

IOUSBMassStorageClass version 1.4.5 26/03/2005
IOSCSIBlockCommandsDevice version 1.4.9 26/03/2005
IOUSBFamily version 2.5.6 26/03/2005
IOStorageFamily version 1.5 26/02/2005

Now I know the build numbers of 10.4.8 are different in PPC and Intel, but are there also different version numbers of the kernel and kexts? Is there anyone out there with Intel kit with the same version numbers as the working Macbook above but who still can't mount the GPS-CS1?