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"=""}
| | | | | | "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" = ""
| | | | | "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?


keith said...

So good! I bought a brand new Black Macbook Core 2 Duo 2 weeks ago, and a GPS-CS1 last week... and assumed they didnt work together so didn't even try. I can confirm that the CS1 mounts on the desktop.

It mounts as a non writeable drive. Dead easy. Too happy!

Anything I can do to help, let me know... keithatnewformuladotorg.

Stephen said...

Hi Keith, great to hear that helped, and good to know that it isn't just one odd Macbook.

Could you have a look at your Kernel version, and also see if the version numbers of the following kernel extensions match (from Apple->About This Mac->More Info...->Software->Extensions)?

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

I expect they probably are the same as Meikel's Macbook but it would be useful to confirm it. Thanks

kweaver said...

Thanks to everyone for all their hard work tracking this problem. I was immediately interested in the GPS-CS1 when its release was announced and hoped to coordinate it with a new camera purchase. However, I was disheartened to find it won't work on a Mac and gave up hope.

It seems to me that with the use of the third party software you suggested in the first post that once you get the data off of the CS1, you can use it with (timestamped) pictures from any camera. Is that true? Or is it just wishful thinking :)

Stephen said...

Yes, it's true that once you get the files onto your Mac, you can use the 3rd party tools mentioned to geotag your photos, from any camera... provided it stores the timestamp in EXIF data in JPG photos (and most if not all these days do). Just make sure the time and date is accurate on your camera. BTW the GPS-CS1 records waypoints using GMT timestamps.

I can confirm that I've geotagged photos myself on my own Mac using the software in the first post.

The problem is getting the files onto the Mac in the first place. I downloaded them to a PC, then transferred them to my Mac. You could also boot your Mac with Linux from a CD, download the files and transfer them to e.g. a memory card that you can read from Mac OS. Or, if you also have access to a Core 2 Duo Macbook, you could download them to that and transfer them to your own Mac.

In a few weeks time I'm hoping that Mac OS X 10.4.9 will allow all Macs running Tiger to mount the GPS-CS1.

keith said...

I looked up the kernel extensions as requested -

IOUSBMassStorageClass version 1.4.7 20/10/2006 - Mine doesn't have this, and I looked and looked! The GPS-CS1 wasn't plugged in though...
IOSCSIBlockCommandsDevice version 1.5.1 20/10/2006 - Same
IOUSBFamily version 2.6.1 19/10/2006 - Mine is 2.6.5, 19/10/2006
IOStorageFamily version 1.5.1 19/10/2006 - Same

Anonymous said...

My GPS-CS1 is on its way and due to arrive in a few days. (£38 plus postage on ebay, new!)

I have a Japanese Core2Duo Macbook Pro - different build of OS X - checked my extensions and not all are the same as the confirmed working ones...

IOUSBMassStorageClass: Version: 1.4.7
IOSCSIBlockCommandsDevice: Version: 1.5.1
IOUSBFamily: Version: 2.6.5
IOStorageFamily: Version: 1.5.1

Here's hoping it works okay - will confirm shortly!

Anonymous said...

Okay, following on from my post above, I can confirm the GPS-CS1 works with my MacBok Pro. In fact - it works very well. I was surprised at just how easy it was to put my photos on the map.

Here's hoping 10.4.9 brings the GPS-CS1 to all Mac users.

Stephen said...

Anonymous at 03 January 2007 12:00:00 PST - thanks for letting us know.