Fledge68 / WiiFlow_Lite

My mod of the Wii USB Loader WiiFlow
459 stars 58 forks source link

USB not available / recognized / mounted #310

Closed JayFoxRox closed 2 years ago

JayFoxRox commented 2 years ago

Describe the bug

WFL will not show any games from the USB drive / won't allow to explore it.

To Reproduce

Not sure how to reproduce.

One thing I did notice is that WFL was preconfigued to use Wii or GC partition from "USB". I saw this while exploring the settings on my fresh WFL install. I changed this setting at some point but was was never able to reselect "USB" for said partition (presumably because the setting is only available while a USB drive is connected). I wonder if there might be an issue with the config file from this.

What version of WiiFlow Lite

WFL 5.5.3 / "Credits" screen shows: "D2X IOS249[57] v10.0".

On Wii or Wii U vWii

Wii

Additional context

USB drive is a Kingston 13fe:5100 32GiB flash drive; formatted with MBR / FAT32 using Linux fdisk / vfat.

$ sudo file -s /dev/sdb
/dev/sdb: DOS/MBR boot sector; partition 1 : ID=0xb, active, start-CHS (0x1,0,1), end-CHS (0x375,7,32), startsector 2048, 60530944 sectors
$ sudo file -s /dev/sdb1
/dev/sdb1: DOS/MBR boot sector, code offset 0x58+2, OEM-ID "mkfs.fat", sectors/cluster 32, Media descriptor 0xf8, sectors/track 32, heads 64, hidden sectors 2048, sectors 60530944 (volumes > 32 MB), FAT (32 bit), sectors/FAT 14784, serial number 0x24456120, unlabeled

Doesn't work on either of the USB ports on the Wii. I tried both, because I'm not sure which port is 0 / 1 as in "Settings > Startup Settings > USB Port".

JayFoxRox commented 2 years ago

I tried to make the USB flash drive work with USB Loader GX and it worked after initially giving me "USB Device not initialized. Switching to channel list mode.". So I followed advice from https://gbatemp.net/threads/usb-loader-gx-usb-device-not-initialized-switching-to-channel-list-mode.420941/#post-6210056 and that made it work in USB Loader GX.

Afterwards I rebooted the console a couple of times, and suddenly it also seems to work in WFL (shows up as usb1:/).

I'm not sure how / why it works now. It definitely didn't work with the exact same setup earlier. I wonder if USB Loader GX somehow changed partition details or if there is some other bug.

Fledge68 commented 2 years ago

so what did you do in that gba post to get it to work? move it to the other usb port?

JayFoxRox commented 2 years ago

Yes, moved the flash drive to the port that's closer to the edge (I specifically linked this section, but the link might not work as it should):

Make sure you are plugging it into the USB port closest to the edge of the Wii.

It still works correctly now, but there is still an issue when the Wii comes from some standby state. Basically if I haven't played for a couple of hours, it will hang at the first (larger, non-animated) WiiFlow logo. If I shut the console down by long pressing the power button, and turn it back on, then I can successfully start WiiFlow again. I'm not sure if this is related to the issue of USB not being detected / some issue in the USB stack. I can generate logs if necessary though, and I can try getting this more reproducable and test if USB connected / disconnected changes the outcome.

I am currently unable to reproduce the USB not being found (which is good for me, but bad for fixing any potential issues).

Fledge68 commented 2 years ago

so no issue with wiiflow. you just didn't know to always plug your usb drive/stick in the port closest to the edge.

JayFoxRox commented 2 years ago

so no issue with wiiflow. you just didn't know to always plug your usb drive/stick in the port closest to the edge.

I'm not so sure.

I had tested the USB flash drive on both ports before / while creating this issue, and it worked in neither of them, even though it did work in other apps (as mentioned in issue description: Riivolution, HBC and Retroarch - which, at the time, were all the apps I tested besides WiiFlow).

I didn't try "USB Loader GX" at that time though.

However, when I tried "USB Loader GX" that gave me a hint as to what is going wrong:

I tried to make the USB flash drive work with USB Loader GX and it worked after initially giving me "USB Device not initialized. Switching to channel list mode.".

To resolve that, I did try the suggestion from gbatemp to move the USB flash drive to the other port. However, I'm very confident that I had tried the exact same hardware setup earlier with WiiFlow (quoting from my original issue description):

Doesn't work on either of the USB ports on the Wii. I tried both, because I'm not sure which port is 0 / 1 as in "Settings > Startup Settings > USB Port".

Also my thoughts on it suddenly working:

I'm not sure how / why it works now. It definitely didn't work with the exact same setup earlier. I wonder if USB Loader GX somehow changed partition details or if there is some other bug.

Also, after all, WiiFlow still crashes on the splash screen occasionally (as mentioned in my previous post), even though the USB flash drive works fine in HBC and other apps every time (from what I can tell, but I'll probably do further testing in the future).

I'm fine with the issue being closed for now, but I suspect that there's some issue with the USB stack (more likely) or FAT32 support (less likely) in WiiFlow.