USB Mass Storage support in XBMC for Xbox - Developers discussion

Note! Non-developers can also help with the USB Mass Storage support in XBMC article (link).

FAT12/FAT16/VFAT/FAT32 on USB Mass Storage devices
XBMC still rely on the Xbox BIOS kernel USB driver to handle the USB subsystem stuff, including drive detection, etc.. XBMC then uses a ported version of dosfs to enable FAT12/FAT16/VFAT/FAT32 reading from USB Mass Storage devices, is read the drive directly (ie not via the usual XDK stuff) which we then feed through a simple filesystem layer (based on dosfs). So what can we do to detect a USB HDD Drive? I tried to use some code from undocumented source to made a test: I think we can ackt like the kernel and can controll the USB our self to support also USB HDD's i really just played with the code nothing else..
 * IoSynchronousDeviceIoControlRequest does not return a success on USB HDD
 * Kernel will report a: "WRN[MU]: The logical block configuration of an MU is outside supported parameter ranges."

The 4GB limit
XBMC rely on the Xbox BIOS kernel USB driver to handle the USB subsystem stuff, including drive detection etc. One limitation with this is this it can't support memory-cars/harddrives larger than 4GB. This is Xbox BIOS kernel limitation. Only way around it that we see would be to completely rewriting the USB driver (practically writting a USB stack for the Xbox from scratch), which no one of Team-XBMC developers have the experience, skill or time to do, (plus it'd be a hell of a lot of work).