This will be where we collect all efforts to get into the SMEG+ via one of its USB ports.
While this will use some ideas from psakey and smeg-plus_key, the idea is more to use some more powerful hardware like a Beaglebone Black to pretend being all sorts of USB devices to the USB host (which in our case is the SMEG+). In particular we're hoping to play some switcheroo while pretending to be a mass storage device. But yes, in all likelihood USB CDC isn't going to be supported by the SMEG+, so we need to figure out what device classes we can pose as to the head unit. @bousqui has done some prior work regarding this. At this point it seems like conclusions drawn from strings?!
Either way CDC_EEM seems to be supported and @bousqui even lists strings with device names that seem to be supported by the VxWorks kernel.
- Generally every device with a UDC (USB device controller) should work - however, many of those aren't necessarily outfitted with much RAM (e.g. to pose as mass storage), computing power or even Linux (which allows for GadgetFS and FunctionFS)
- Most promising candidates:
- Beaglebone Black
- USB Armory Mk II
- GreatFET (especially during the prototyping phase)
- RaspberryPi 3 or 4
- It could be possible to pose as a USB hub (module
dummy_hcd
) even if there is no UCD?!
- Pretty much a link dump about USB-related topics
- sunxi Wiki namespace about USB Gadgets
- USBQ Toolkit, also on GitHub
- In part based on USBiquitous kernel module (paper, kernel, userland)
- Very old article about GadgetFS ... this may not be of too much value these days, but we found it an enlightening read
- Two-part article on how to use GadgetFS and FunctionFS in conjunction with systemd
NB: No need to point out a supposed spelling mistake in the project name. It's an allusion to some of those stealth levels in RTCW, where the enemy soldiers are shouting "intruderer, intruderer" ... before well ... 😁