Hacking USB Loader Hard Drives - Call to coders

robco28

New Member
Newbie
Joined
Apr 21, 2009
Messages
1
Trophies
0
XP
1
Country
United States
I have a similar hard drive issue ? When I exit a game being played from the hard drive and try to go back in to play another it will not recognize the hard drive ? I can stick a flash drive in the empty usb slot (leaving the drive in the other) reboot then pull the flash drive and reboot again and it recognizes. I have a sata enclosure made by thermaltake. This problem happens with ver. 1.1 -1.4 -and 1.5
 

tedgreen

Member
Newcomer
Joined
Oct 4, 2008
Messages
13
Trophies
0
XP
91
Country
United States
I've been playing around some more and found a few interesting things.
1) If I call USB_GetDeviceList I can always see my device vid and pid listed even though it is not detected by the loader init/USBStorage_GetCapacity routines.
2) I tried calling USB_ClearHalt for the usb endpoints and they return -2 (?) and even though the drive does not detect immediately it seems to be detected more quickly.

Does anyone know if the device subsystem is cleared/reset by the IOS_ReloadIOS subroutine? I'm trying to figure out why calling that routine eventually allows the device to be detected by the usbloader.
 

tedgreen

Member
Newcomer
Joined
Oct 4, 2008
Messages
13
Trophies
0
XP
91
Country
United States
I've found a workaround that is slightly better than the swap trick and seems to work for me.
1) Plug the harddrive in the bottom usb port
2) Plug a usb flash stick that is FAT formatted in the top slot
Leave them both plugged in.
When I do this my hard drive is detected immediately every time.

Maybe someone could test if the detection of a hard drive works if it has both a FAT and a WBFS partition on it versus only having a WBFS partition. I would try but I don't want to reformat my hard drive right now.
 

tedgreen

Member
Newcomer
Joined
Oct 4, 2008
Messages
13
Trophies
0
XP
91
Country
United States
If I plug my hd in the bottom usb port and my flash drive in the top port the harddrive is listed twice in /dev/ehc but the loader works fine.

If I plug my flash drive in the bottom usb port and my hard drive in the top usb port then the flash and the hard drive are listed in /dev/ehc but the loader freezes and the wii needs to be unplugged to reset it.

So you want to make sure your hard drive is plugged into the bottom port if you try using my lost post's suggestion of keeping a usb stick plugged in.
 

substring

Member
Newcomer
Joined
Apr 2, 2009
Messages
13
Trophies
0
XP
1
Country
France
The surprising fact is that libfat and usbstorage use different routines to access the USB ports, as far as I could dig in the code.

Therefore, I don't understand why the USB Loader doesn't rely on some already existing (and working) routines to access a USB HDD ...
 

tedgreen

Member
Newcomer
Joined
Oct 4, 2008
Messages
13
Trophies
0
XP
91
Country
United States
Actually I tried a ext2 formatted usb stick and the result was the same. The hard drive always detected when both devices are plugged in.
 

t7g

Well-Known Member
Newcomer
Joined
Dec 1, 2008
Messages
48
Trophies
0
XP
34
Country
United States
From what I can recall the device tree gets reset everytime the IOS reloads, that's some of the problems with usb devices in wii linux. Remember, you don't have like, hardware access to the usb device, just a channel you can send messages through from what I recall, someone, somewhere, wrote at length about it. I just don't know where it was.
 

foobar

Member
Newcomer
Joined
Nov 13, 2006
Messages
20
Trophies
1
XP
82
Country
My harddrive isn't detected well, but neither the swap trick nor the working fat32 flash in top slot workarounds work.
  • swap trick: blank black console after swap/selecting to format a partition, exception dsi on power button (I can post core dump if it may help).
  • flash in top trick: offered to format flash partition
  • no tricks: long delay, then no wbfs found
The drive is a 400gb Seagate 7200.8 (PATA), passes SMART self-tests, reads and writes fine with FAT32 and WBFUSE 0.8.2b

Enclosures teseted was from a Maxtor One Touch drive
CODE
LSUSB for device (0d49_7000):

USB Device Details

bLength: 18
bDescriptorType: 1
bcdUSB: 2.00
bDeviceClass: 0
bDeviceSubClass: 0
bDeviceProtocol: 0
bMaxPacketSize0: 64
idVendor: 0x0d49
idProduct: 0x7000
bcdDevice: 2.00
iManufacturer: 1
iProduct: 3
iSerialNumber: 2
bNumConfigurations: 1
Config Descriptors:
bLength: 9
bDescriptorType: 2
wTotalLength: 39
bNumInterfaces: 1
bConfigurationValue: 1
iConfiguration: 0
bmAttributes: 0xc0
bMaxPower: 0
Interface Descriptors:
bLength: 9
bDescriptorType: 4
bInterfaceNumber: 0
bAlternateSetting: 0
bNumEndpoints: 3
bInterfaceClass: 8
bInterfaceSubClass: 6
bInterfaceProtocol: 80
iInterface: 0
Endpoint Descriptors:
bLength: 7
bDescriptorType: 5
bEndpointAddress: 0x02
bmAttributes: 0x02
wMaxPacketSize: 0x0040
bInterval: 0
bLength: 7
bDescriptorType: 5
bEndpointAddress: 0x88
bmAttributes: 0x02
wMaxPacketSize: 0x0040
bInterval: 0
bLength: 7
bDescriptorType: 5
bEndpointAddress: 0x81
bmAttributes: 0x03
wMaxPacketSize: 0x0002
bInterval: 32
 

wiifan08

Active Member
Newcomer
Joined
Oct 26, 2008
Messages
32
Trophies
0
XP
7
Country
United States
Dteyn i LOVE YOU

I have 3 enclosures in home (all of them generic and very cheap) and the three of them don't work BUT with the hot swap tip tip THE 3 WORKS GREAT the games runs perfectly, i can’t believe waninkoko or somebody try a fix in the code with this, is the solution for a lot of people, is very uncomfortable to put the pen drive to take it out and then put the hard drive but it works excellent =)

My case:

WHAT I DO?
1) Start the USB Loader with an unformatted USB flash drive inserted so the USB Loader says "No WBFS Partition Found - Press A to select a partition to format".
2) i Remove the USB stick and plug in the USB hard drive, and then press A. It continue to show me the usb flash space but by pressing B it takes me back to the main menu and I'm able to use the hard drive without issue (the light from the enclosure start shining like it was detected right)

Enclosure Bitron with Western digital 80gbs/160gbs/250gbs
Usbloader 1.5: ERROR ret = -6
Usbloader 1.5 With hot swap trick: = WORKS PERFECT

Enclosure Shure with Western digital 80gbs/160gbs/250gbs
Usbloader 1.5: ERROR ret = -6
Usbloader 1.5 With hot swap trick: = WORKS PERFECT

Enclosure without name with Western digital 80gbs/160gbs/250gbs
Usbloader 1.5: ERROR ret = -6
Usbloader 1.5 With hot swap trick: = WORKS PERFECT
 

pigstacho

New Member
Newbie
Joined
Apr 24, 2009
Messages
1
Trophies
0
XP
27
Country
United States
I'm using flash sticks, and 2 of the 3 aren't detected by the USB Loader if they are connected to the Wii before launching the Loader, but they are detected inmediatly when connected after loading the USB loader (Ultimate V7.4).

I think that might be a problem with the state in which the Wii is leaving the device when connected before launching the Loader, and the Loader is not resetting it properly to redetect it.
 

insa_hc

New Member
Newbie
Joined
Apr 19, 2009
Messages
1
Trophies
0
XP
48
Country
Italy
Hello everybody,
I have too 3 2.5 usb boxes witch doesn't work at all (ret: -6) with none of the tricks and I have also a kingstone usb dongle witch just works. After some simple debug I realize too that the problem is in USBStorage_GetCapacity() . I think if I understand what that function returns with the working dongle and what it returns (or don't) with the non working boxes I could try to hardcode that parameters in the code and look if it's working. Maybe then I can go deeper in the code and then look where the bug is.
So my question is: how can I know what that function returns when it's working and what should it returns when it's not working? How can I debug it (debug could be also written in a text fine in sd card)?
Here there are both "cat /proc/bus/usb/devices" and "lsusb -v" of working dongle and not working box from a linux machine.

Working dongle:
CODE
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 9 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0951 ProdID=1603 Rev= 1.00
S: Manufacturer=Kingston
S: Product=DataTraveler 2.0
S: SerialNumber=0019E000B4B05B8B1C10009D
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Bus 001 Device 009: ID 0951:1603 Kingston Technology Data Traveler 1GB/2GB Pen Drive
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0951 Kingston Technology
idProduct 0x1603 Data Traveler 1GB/2GB Pen Drive
bcdDevice 1.00
iManufacturer 1 Kingston
iProduct 2 DataTraveler 2.0
iSerial 3 0019E000B4B05B8B1C10009D
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 200mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000


Not working box:
CODE
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#= 10 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=04cf ProdID=8818 Rev=b0.08
S: Manufacturer=Myson Century, Inc.
S: Product=USB Mass Storage Device
S: SerialNumber=100
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 10mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=05 Prot=50 Driver=usb-storage
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Bus 001 Device 010: ID 04cf:8818 Myson Century, Inc. USB2.0 to ATAPI Bridge Controller
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x04cf Myson Century, Inc.
idProduct 0x8818 USB2.0 to ATAPI Bridge Controller
bcdDevice b0.08
iManufacturer 1 Myson Century, Inc.
iProduct 2 USB Mass Storage Device
iSerial 3 100
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4 USB Mass Storage
bmAttributes 0xc0
Self Powered
MaxPower 10mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 5 SFF-8070i
bInterfaceProtocol 80
iInterface 5 Mass Storage Class
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered


Thank you and bye.
InSa
 

akempy

New Member
Newbie
Joined
Nov 14, 2009
Messages
3
Trophies
0
XP
5
Country
i read that somebody had a seagate 400gb barracuda hdd working on the wii????? mine will not find it no matter what i try GRRRRRRRRRRRRRR
any advice would be great i really dont fancy paying for another hdd
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Mondooooo @ Mondooooo: IM THE VENGEFUL OOOOOOOOOONNE (Can't you see what you've become?!)