The ExpressCard (EC) slot of the 15" Unibody Macbook Pros is completely useless in its current state! I do not know about the 17" models, but given the revision of the Firewire chipset which makes it finally working properly I have some hope that it may work better.
It does not seem possible to send data at sustained high bandwidth over the EC without either data corruption, Kernel Panics or system freezes. That mostly affects eSATA cards, but others like Firewire and Audio adapters are affected just as much.
Because of the erratic and somewhat random nature of the issues it may appear to some that their port is working properly, but probably it is not. I had my Logic Board (mainboard) exchanged, I am using freshly formated OS installations and many other people on the net report similiar problems.
1. Cloning via Disk Utility/CCC or backing up via Time Machine leads to the destination partition being corrupted beyond repair (or outright Kernel Panics/freezes).
When using Windows XP on the other hand I was not able to produce a single error via eSATA, even copying a multiple of the data that caused 100% reproducable errors on OS X.
I suspect this to be based on some kind of error correction in Windows rather than the EC working properly though.
That suspision is based on the fact that the EC eSATA successfully cloned 9 out of 10 tries on OS X *while the adjacent USB port was unusable*. After connecting a monitor to the adjacent display-port the USB port worked again, but the EC port produced errors again, too.
2. Trying to flash the firmware of a RME HDSPe fails at least 44% of the time (22 of 50 tries).
On Windows XP I could not produce any errors when flashing (50 out of 50 tries successful).
3. Hot-plugging EC devices easily leads to the Mac freezing completely.
This happens on OS X as much as on any installation of Windows.
4. The EC cannot be used on Vista / Windows 7 at all.
Apple exclaims that "Microsoft has to provide a driver", taking no responsibility for the apparent failure of their own hardware while advertising "lets you run Windows natively — as if your Mac were a PC".
I suspect EFI/BIOS problem to be the culprit that keep Windows from properly setting up system resources. In fact the same RME HDSPe uses the same IRQ 5 and adress-range on Vista like on XP, but still Vista claims that these resources are not available.
„This device cannot find enough free resources that it can use. (Code 12).
If you want to use this device, you will need to disable one of the other devices on this system.”
5. Another hint to a bad EFI/BIOS implementation is a recurring AHCI (harddrive controller) error that makes Windows randomly freeze every few days (sorry, only german log entries):
„ACPI: ACPI-BIOS versucht, in einen ungültigen PCI-Operationsbereich (0x41c) zu schreiben. Wenden Sie sich an den Systemhersteller, um technische Unterstützung zu erhalten.
IRQARB: ACPI-BIOS hat einen mehrdeutigen Eintrag in der PCI-Routingtabelle (_PRT.) erstellt. Der ungültige _PRT-Eintrag hat folgende Form: 0x00.“
On XP you get this on a regular basis (like with every boot-up and just in between) without the computer necessarily freezing. On Vista I recognized that when the computer froze I found this entry in the system log just the moment before the freezing.
6. The Bootcamp drivers coming from Apple are very badly implemented, they keep other drivers from accessing the CPU (high DPC latencies). This mostly shows as audio-dropouts with videos, games and professional audio applications.
Ironically it is Microsoft's own "Update Catalog" that offers better drivers for Apple WLAN module (Broadcom) for both XP and Vista. These fix the DPC issues, the Vista driver even allows upto 300 mbit (N standard) while OS X only allows 130 mbit with my router. Unfortunately the XP drivers only seem to run at 54 mbit though.
The NVidia graphic drivers cause serious DPCs whenever it clocks down to energy-saving 2D mode (most of the time). Well, on XP there seems to be a bug that keeps them running at full power/heat Performance 3D mode all the time, but that's not so much better an issue. The only workaround is to *force* them into constand "Low-Power 3D" or "Performance 3D" (I prefer Low-Power) via Rivatuner, but that needs a reboot everytime you want to change the power-state.
But the worst of all drivers in that package is Apple's own KBDMGR.EXE (was renamed in Bootcamp 3) that is responsible for the special F-Keys function, turning on backlight and regulating screen brightness.
While there is a workaround that by turning CPU "Affinity" to CPU1 (not CPU0!) the DPCs lower considerably, you still need to completely kill that process if you want to do any serious professional audio work!
But Apple doesn't want you use workarounds to make your expensive Mac tool working properly! The KBDMGR tool/driver cannot be started manually, it only works if it is started from the RUN registry entry at Windows startup. Fortunately there is a workaround for that as well, you can fool it by a dummy entry (+dummy file, else it wont work neither).
-*-
Most of these things are somewhat already known to more or less degree, that includes Apple to know about them. I'm in direct contact to a german Apple technician now, but given how Apple got rid of EC in their 15" "Pro" models in place of a SD card reader confused and how Apple ignored any problems about Firewire and Windows compatibility I doubt there will be a solution anytime soon.
It does not seem possible to send data at sustained high bandwidth over the EC without either data corruption, Kernel Panics or system freezes. That mostly affects eSATA cards, but others like Firewire and Audio adapters are affected just as much.
Because of the erratic and somewhat random nature of the issues it may appear to some that their port is working properly, but probably it is not. I had my Logic Board (mainboard) exchanged, I am using freshly formated OS installations and many other people on the net report similiar problems.
1. Cloning via Disk Utility/CCC or backing up via Time Machine leads to the destination partition being corrupted beyond repair (or outright Kernel Panics/freezes).
When using Windows XP on the other hand I was not able to produce a single error via eSATA, even copying a multiple of the data that caused 100% reproducable errors on OS X.
I suspect this to be based on some kind of error correction in Windows rather than the EC working properly though.
That suspision is based on the fact that the EC eSATA successfully cloned 9 out of 10 tries on OS X *while the adjacent USB port was unusable*. After connecting a monitor to the adjacent display-port the USB port worked again, but the EC port produced errors again, too.
2. Trying to flash the firmware of a RME HDSPe fails at least 44% of the time (22 of 50 tries).
On Windows XP I could not produce any errors when flashing (50 out of 50 tries successful).
3. Hot-plugging EC devices easily leads to the Mac freezing completely.
This happens on OS X as much as on any installation of Windows.
4. The EC cannot be used on Vista / Windows 7 at all.
Apple exclaims that "Microsoft has to provide a driver", taking no responsibility for the apparent failure of their own hardware while advertising "lets you run Windows natively — as if your Mac were a PC".
I suspect EFI/BIOS problem to be the culprit that keep Windows from properly setting up system resources. In fact the same RME HDSPe uses the same IRQ 5 and adress-range on Vista like on XP, but still Vista claims that these resources are not available.
„This device cannot find enough free resources that it can use. (Code 12).
If you want to use this device, you will need to disable one of the other devices on this system.”
5. Another hint to a bad EFI/BIOS implementation is a recurring AHCI (harddrive controller) error that makes Windows randomly freeze every few days (sorry, only german log entries):
„ACPI: ACPI-BIOS versucht, in einen ungültigen PCI-Operationsbereich (0x41c) zu schreiben. Wenden Sie sich an den Systemhersteller, um technische Unterstützung zu erhalten.
IRQARB: ACPI-BIOS hat einen mehrdeutigen Eintrag in der PCI-Routingtabelle (_PRT.) erstellt. Der ungültige _PRT-Eintrag hat folgende Form: 0x00.“
On XP you get this on a regular basis (like with every boot-up and just in between) without the computer necessarily freezing. On Vista I recognized that when the computer froze I found this entry in the system log just the moment before the freezing.
6. The Bootcamp drivers coming from Apple are very badly implemented, they keep other drivers from accessing the CPU (high DPC latencies). This mostly shows as audio-dropouts with videos, games and professional audio applications.
Ironically it is Microsoft's own "Update Catalog" that offers better drivers for Apple WLAN module (Broadcom) for both XP and Vista. These fix the DPC issues, the Vista driver even allows upto 300 mbit (N standard) while OS X only allows 130 mbit with my router. Unfortunately the XP drivers only seem to run at 54 mbit though.
The NVidia graphic drivers cause serious DPCs whenever it clocks down to energy-saving 2D mode (most of the time). Well, on XP there seems to be a bug that keeps them running at full power/heat Performance 3D mode all the time, but that's not so much better an issue. The only workaround is to *force* them into constand "Low-Power 3D" or "Performance 3D" (I prefer Low-Power) via Rivatuner, but that needs a reboot everytime you want to change the power-state.
But the worst of all drivers in that package is Apple's own KBDMGR.EXE (was renamed in Bootcamp 3) that is responsible for the special F-Keys function, turning on backlight and regulating screen brightness.
While there is a workaround that by turning CPU "Affinity" to CPU1 (not CPU0!) the DPCs lower considerably, you still need to completely kill that process if you want to do any serious professional audio work!
But Apple doesn't want you use workarounds to make your expensive Mac tool working properly! The KBDMGR tool/driver cannot be started manually, it only works if it is started from the RUN registry entry at Windows startup. Fortunately there is a workaround for that as well, you can fool it by a dummy entry (+dummy file, else it wont work neither).
-*-
Most of these things are somewhat already known to more or less degree, that includes Apple to know about them. I'm in direct contact to a german Apple technician now, but given how Apple got rid of EC in their 15" "Pro" models in place of a SD card reader confused and how Apple ignored any problems about Firewire and Windows compatibility I doubt there will be a solution anytime soon.