joel16 / NX-Shell

A multi-purpose file manager for the Nintendo Switch.
GNU General Public License v2.0
960 stars 66 forks source link

FTP? or USB MSC? #8

Closed fennectech closed 2 years ago

fennectech commented 6 years ago

Would you be able to implement FTP or USBMSC?

kenshin088 commented 6 years ago

USB support would be a game changer! Not sure how feasible it is though

fennectech commented 6 years ago

They did it on the vita. SO it should be possable.
https://github.com/TheOfficialFloW/VitaShell/blob/master/usb.c Heres their implimentation of USBMSC

joel16 commented 6 years ago

The switch and vita have almost nothing in common. There's no plugin framework like taiHen or any sort of plugins ATM. For now we could write our own sysmodules, idk what else has been made available. Things are still pretty early as I understand it.

fennectech commented 6 years ago

Their USBMSC was nto a plugin but a feature in a homebrew. A sysmodule that proivides USBMSC would be totally amazing.

joel16 commented 6 years ago

@fennectech the homebrew is loading the plugin https://github.com/TheOfficialFloW/VitaShell/blob/master/usb.c#L143

fennectech commented 6 years ago

Ahh. :/

ValShaped commented 6 years ago

IIRC, Horizon doesn't actually do anything with USB when the system is undocked, and doesn't mind if you take it over? See https://github.com/yellows8/switch_sysmodule

fennectech commented 6 years ago

Wow. :D. @joel16 Sysmodules are basicly plugins right? Daemons that run in the background and are loaded on boot?

ValShaped commented 6 years ago

Sysmodules are like kernel extensions running in userspace. They can only, with a few exceptions, do what userspace applications can do. As long as nothing else is using the USB port, I don't see why it'd be impossible to do, just difficult.

ttimasdf commented 4 years ago

There are other projects implementing FTP and MSC nowadays.

DarkMatterCore commented 3 years ago

fs services offer no way to access the SD card as a raw block device. It'd be very difficult, if not impossible, to add a live UMS mode to any homebrew apps running under Horizon OS. The best option for this nowadays is Hekate's UMS feature.

FTP, SMB and other network protocols should be doable, though, as well as adding support for UMS devices.

fennectech commented 3 years ago

Howabout MTP

DarkMatterCore commented 3 years ago

@fennectech Doable as well. Unlike UMS, MTP doesn't require the device to provide the USB host with full, locked access to the raw block device. It's filesystem agnostic and it works even if the device needs to use the storage medium at the same time.

fennectech commented 3 years ago

This is the best option as it allows the performance of USB.