Talk:Enable USB Storage on 1.x

From AwkwardTV
Revision as of 12:18, 3 June 2008 by Quincy (talk | contribs) (Using external DVD Player)
Jump to: navigation, search

Missing msdos.fs on AppleTV 1.1

It is possible that msdos.fs is missing from your AppleTV if it is running AppleTV OS 1.1.

It was missing on my AppleTV. I followed all the instruction here, but before copying the msdos.fs file over, I got the following error in dmesg when I connected my WD MyBook 500GB USB drive:

IOUSBCompositeDevice: family specific matching fails
USBF:   788.831 USB Device IOUSBCompositeDevice is violating Section 9.3.5 of the USB Specification -- Error in GetConfigDescriptor( wLength = 4)

If you check and find it is missing, simply copy it from the 10.4.9 combo update. After I copied msdos.fs in /System/Library/Filesystems, I got the following error:

External HDD: family specific matching fails

However, my external HDD now mounts, and is accessible by the AppleTV.


NTFS Formatted Disks

anyone try it? I just follow the instructions and doesn't work for me with a lacie 320gb format on NTFS

  • Currently the tested disks that have been successful have been Apple HFS and HFS+ filesystems. NTFS filesystems are likely not able to load yet because we're still trying to find what parts of the filesystem support Apple left us with. Thanks for calling attention to it, I'll see what else we can do about it. I'll be sure to add a filesystem compatibility table to the article soon. - Maraklov
  • Does OS X even support NTFS write stock? You'd need MacFUSE on there first. Rekoil 16:06, 29 July 2007 (CEST)
  • Yes, MacFUSE and NTFS-3G are required to readwrite to NTFS partitions. - Maraklov 01:50, 30 July 2007 (CEST)

Not working for me

I got a susses message from "turbo_kext_enabler" and the "kextload" but can't see any new drive using "diskutil list". I catch the extension files from the "MacOSXUpdCombo10.4.9Intel.pkg" using "Pacifist". I try two different USB HDs, the two HDs are partitioned in three HFS+ partitions. I try a thumbdrive with just one partition. I use the "safe update" method to upgrade to version 1.1. I check and re-check the modes and ownerships. If someone have a hint I will appreciate.

Thanks anyway.


mach_kernel.prelink USB Patch

Having already done the 1.1 safe update, I had to grab the mach_kernel.prelink from the 1.1 update img, apply turbo's mach_kernel patch for USB, and then load that in before I could get my hard drive to mount. Exact steps I took:

1) Get
2) Grab the mach_kernel.prelink file from the mounted image
3) Grab the bsdiff file from:
4) Apply the bsdiff file:

bspatch mach_kernel.prelink mach_kernel.patched turbo-11-usb-and-watchdog-20070623.bsdiff

5) Check the md5 hash for the new kernel (it should be 311f50ae644bc16967b7c0ac91cefaae)

md5 mach_kernel.patched

6) Rename the mach_kernel.patched file to mach_kernel.prelink and then copy it to your AppleTV, replacing the one already there.
7) Reboot your AppleTV.

Then apply the turbo_kext_enabler, and do the kextload. Your drive should now be mounted.


  • I'm afraid I don't understand this. You did safe update to 1.1, which means you were using the 1.0 kernel with the 1.1 and 1.1 Frameworks, why would the 1.0 usb kernel patch not work for you? - Maraklov 01:50, 30 July 2007 (CEST)
  • Second that - if you've run the safe update, then its still the 1.0 kernel - and applying the 1.1 patch will brick your ATV quicker than throwing it out a window. Use the 1.0 patch. If that doesn't work, factory restore your ATV to get it to a virginal state, install ssh, apply the kernel patch, and then if USB mounting works, install your other haxies. Chrisr 02:33, 30 July 2007 (CEST)
  • Correct, I did the 1.1 Safe Update listed on the Wiki, which means I was using the 1.0 kernel. I had previously done the USB patch for the 1.0 kernel, but when mounting a drive (after applying the kext patch, and loading the kext) my drive wouldn't mount. So I loaded the 1.1 kernel, applied the USB patch, and it all works. Obviously DO NOT apply the 1.1 kernel patch to a 1.0 kernel. Check the md5 results as well to make sure you don't brink your AppleTV - kupan787

Still not working for me

I just do the patch and try everything again with no susses. Any toughs? Thanks anyway.


Not working - dmesg report

It is not working for me either. I have a 160Gb appleTV which I updated to the 1.1. Loaded the kext files from the Intel update 10.4.9 image as detailed on the wiki page.

This is the error appearing in the dmesg log: When using an USB stick (256 Mb FAT32): Mass Storage Device: family specific matching fails

When using a Western Digital MyBook 500 Gb (FAT32): External HDD: family specific matching fails

Anyone an idea? --Tego 21:23, 29 July 2007 (CEST)

Solution? Following suggestions of |bile|, EricIII and UCIJoker_ on the chat, I added the msdosfs.kext (and in the run also added the others posted in the nitoTV announcement post in the forum). Afterwards I rebooted the appleTV, ran the commands and was disappointed: the errors appeared again in the dmesg log. But I noticed the disk light kept flickering, and tada: the disk appeared after some more seconds... Hope this helps. --Tego 22:10, 29 July 2007 (CEST)

  • I'll be updating the article with this, as it was supposed to get on there last night, I just didn't have anyone else to confirm it. - Maraklov 01:50, 30 July 2007 (CEST)

No error messages but drives don't mount

I've had the same experience as Felipe3D above - and Kupan787's initial experience with the patched 1.0 kernel. -- Success message from turbo_kext_enabler.bin and from kextload /System/Library/Extensions/IOUSBMassStorageClass.kext -- Plugged in two different HFS+ formatted drives -- diskutil list shows only disk0 -- Tried unplugging and replugging external drives but same result - nothing mounted at /Volumes

Mouse and keyboard work with no problem. I'm actually running 1.1 but have fallen back to the 1.0 (patched)kernel in order to re-enable afp sharing, which I'd rather not break by doing a factory restore. Haven't checked dmesg yet - will do when I get home.

Any ideas? Thanks in advance! --Mrib 15:30, 30 July 2007 (CEST)

Working now !

I'm using the 1.1 patched Kernel in a 1.0 AppleTV software, I know that sounds awkward but it works for me. Felipe3d

Using external DVD Player

I've bought and hooked up an external DVD Player. I've done the USB patch, which works fine. I've done the USB Mass Storage hack and added turbo's kext enabler and the loading of the kexts (IOUSBFamily.kext, udf.kext) to rc.local. This works great for my USB memory stick, and external HDD drive. However it refuses to see the External DVD drive. I know it is supported by OS X, works fine when connected to my MacBook, but it doesn't mount, and there isn't a /dev/disk1 showing up when I plug it into the AppleTV unit. I'm guessing there is still some ID in the IOUSBFamily.kext/info.plist that needs to match before a device is created in /dev or I should use some other kext. However I tried copying all kexts from the 10.4.9 update to the AppleTV and kextloaded each and everyone of them... still no /dev/disk1 however (no /dev/disk? except disk0 whatsoever). When I type dmesg i get the following error: Super Multi Rewriter: family specific matching fails. Anybody have any ideas?

  • You'll want to make sure the following are all in your /System/Library/Extensions and set to kextload in /etc/rc.local, AppleSMBIOS.kext, IOCDStorageFamily.kext, IOHDIXController.kext, IOSCSIArchitectureModelFamily.kext, IOStorageFamily.kext, IOUSBMassStorageClass.kext, udf.kext.

Also, check out nitoTV which has support for DVD players now. If you need more info, his forum post on the new beta version will help as well.

  • Got it working! I had some trouble getting all of it working correctly, mainly due to the IODVDStorageFamily (which worked for me instead of IOCDStorageFamily.kext) not existing in the Combo Update 10.4.9 (or 10.4.5-10.4.10). I didn't check my local install because I have leopard. I also had big troubles with the Apple TV halting and rebooting alltogether when loading the kexts in the incorrect order. I'll try and put a writeup of how I got everything working correctly here (including my rc.local). Thanks a bunch for the help!
  • Anyone try to use this with the Xbox360 USB HD-DVD drive?

Trying with Xbox360 drive, but no success. Any tips about enabling the DVD in general. Get the following error:

Xbox 360 HD DVD Memory Unit: family specific matching fails
Xbox 360 HD DVD Player: family specific matching fails

Enabled USB on 1.1 Safe Update


After alot of struggling I finally managed to Enable USB Storage on my AppleTV. I had already upgraded my AppleTV using the 1.1 safe update. According to the wiki instructions I was supposed to use the 2007-03-30 bsdiff file; however, that didn't work. I had to use the 2007-06-23 bsdiff file and the mach_kernel.prelink from the 1.1 update image.

I posted detailed instructions on how I did this on my site.

The entry is entitled "AppleTV Enable USB Storage" ("

Good luck!