Closed Marvin-Brouwer closed 2 years ago
Hi,
I think the RPi kernel is just old and does not define the fallthrough pesudo-keyword.
You can try adding the definition into dummy_hcd.c
:
#if __has_attribute(__fallthrough__)
# define fallthrough __attribute__((__fallthrough__))
#else
# define fallthrough do {} while (0) /* fallthrough */
#endif
Thanks!
The make file is giving me this now:
In function ‘dummy_enable’:
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:618:6: warning: missing terminating " character
618 | "non-bulk ep %s
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:619:1: warning: missing terminating " character
619 | ", _ep->name);
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:626:24: warning: missing terminating " character
626 | dev_dbg(udc_dev(dum), "enabled %s (ep%d%s-%s) maxpacket %d stream %s
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:627:1: warning: missing terminating " character
627 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:674:24: warning: missing terminating " character
674 | dev_dbg(udc_dev(dum), "disabled %s
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:675:1: warning: missing terminating " character
675 | ", _ep->name);
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:735:24: warning: missing terminating " character
735 | dev_dbg(udc_dev(dum), "ep %p queue req %p to %s, len %d buf %p
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:736:1: warning: missing terminating " character
736 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:801:5: warning: missing terminating " character
801 | "dequeued req %p from %s, len %d buf %p
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:802:1: warning: missing terminating " character
802 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:985:35: warning: missing terminating " character
985 | return scnprintf(buf, PAGE_SIZE, "%s
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:986:1: warning: missing terminating " character
986 | ", dum->driver->function);
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1020:31: warning: missing terminating " character
1020 | dev_err(dummy_dev(dum_hcd), "Unsupported driver max speed %d
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1021:1: warning: missing terminating " character
1021 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1150:22: warning: missing terminating " character
1150 | dev_dbg(&pdev->dev, "%s
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1151:1: warning: missing terminating " character
1151 | ", __func__);
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1162:22: warning: missing terminating " character
1162 | dev_dbg(&pdev->dev, "%s
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1163:1: warning: missing terminating " character
1163 | ", __func__);
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1270:31: warning: missing terminating " character
1270 | dev_err(dummy_dev(dum_hcd), "Stream id %d is out of range.
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1271:1: warning: missing terminating " character
1271 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1314:31: warning: missing terminating " character
1314 | dev_err(dummy_dev(dum_hcd), "usb_device address has changed!
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1315:1: warning: missing terminating " character
1315 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1651:25: warning: missing terminating " character
1651 | dev_dbg(udc_dev(dum), "set_address = %d
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1652:1: warning: missing terminating " character
1652 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1828:31: warning: missing terminating " character
1828 | dev_err(dummy_dev(dum_hcd), "bogus device speed
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1829:1: warning: missing terminating " character
1829 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1841:5: warning: missing terminating " character
1841 | "timer fired with no URBs pending?
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1842:1: warning: missing terminating " character
1842 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1884:5: warning: missing terminating " character
1884 | "no ep configured for urb %p
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1885:1: warning: missing terminating " character
1885 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1900:32: warning: missing terminating " character
1900 | dev_dbg(dummy_dev(dum_hcd), "ep %s halted, urb %p
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1901:1: warning: missing terminating " character
1901 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1918:27: warning: missing terminating " character
1918 | dev_dbg(udc_dev(dum), "stale req = %p
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1919:1: warning: missing terminating " character
1919 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1962:7: warning: missing terminating " character
1962 | "setup --> %d
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:1963:1: warning: missing terminating " character
1963 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2061:31: warning: missing terminating " character
2061 | dev_dbg(dummy_dev(dum_hcd), "port status 0x%08x has changes
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2062:1: warning: missing terminating " character
2062 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2148:7: warning: missing terminating " character
2148 | "supported for USB 3.0 roothub
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2149:1: warning: missing terminating " character
2149 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2160:32: warning: missing terminating " character
2160 | dev_dbg(dummy_dev(dum_hcd), "power-off
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2161:1: warning: missing terminating " character
2161 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2191:5: warning: missing terminating " character
2191 | "USB 3.0 roothub.
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2192:1: warning: missing terminating " character
2192 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2265:7: warning: missing terminating " character
2265 | "supported for USB 2.0 roothub
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2266:1: warning: missing terminating " character
2266 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2280:7: warning: missing terminating " character
2280 | "supported for USB 2.0 roothub
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2281:1: warning: missing terminating " character
2281 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2290:7: warning: missing terminating " character
2290 | "supported for USB 3.0 roothub
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2291:1: warning: missing terminating " character
2291 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2304:8: warning: missing terminating " character
2304 | "no HNP yet!
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2305:1: warning: missing terminating " character
2305 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2320:7: warning: missing terminating " character
2320 | "supported for USB 2.0 roothub
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2321:1: warning: missing terminating " character
2321 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2370:6: warning: missing terminating " character
2370 | "supported for USB 2.0 roothub
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2371:1: warning: missing terminating " character
2371 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2381:6: warning: missing terminating " character
2381 | "USB 2.0 roothub
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2382:1: warning: missing terminating " character
2382 | ");
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2388:4: warning: missing terminating " character
2388 | "hub control req%04x v%04x i%04x l%d
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2389:1: warning: missing terminating " character
2389 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2406:36: warning: missing terminating " character
2406 | dev_dbg(&hcd->self.root_hub->dev, "%s
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2407:1: warning: missing terminating " character
2407 | ", __func__);
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2422:36: warning: missing terminating " character
2422 | dev_dbg(&hcd->self.root_hub->dev, "%s
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2423:1: warning:
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2793:22: warning: missing terminating " character
2793 | dev_dbg(&pdev->dev, "%s
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2794:1: warning: missing terminating " character
2794 | ", __func__);
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2830:10: warning: missing terminating " character
2830 | pr_err("Number of emulated UDC must be in range of 1...%d
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2831:1: warning: missing terminating " character
2831 | ",
| ^
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:2958: error: unterminated argument list invoking macro "dev_err"
2958 | module_exit(cleanup);
|
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:617:4: error: ‘dev_err’ undeclared (first use in this function); did you mean ‘_dev_err’?
617 | dev_err(udc_dev(dum), "Can't enable stream support on "
| ^~~~~~~
| _dev_err
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:617:4: note: each undeclared identifier is reported only once for each function it appears in
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:617:11: error: expected ‘;’ at end of input
617 | dev_err(udc_dev(dum), "Can't enable stream support on "
| ^
| ;
......
2958 | module_exit(cleanup);
|
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:617:4: error: expected declaration or statement at end of input
617 | dev_err(udc_dev(dum), "Can't enable stream support on "
| ^~~~~~~
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:617:4: error: expected declaration or statement at end of input
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:617:4: error: expected declaration or statement at end of input
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:611:3: error: label ‘done’ used but not defined
611 | goto done;
| ^~~~
At top level:
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:504:12: warning: ‘dummy_enable’ defined but not used [-Wunused-function]
504 | static int dummy_enable(struct usb_ep *_ep,
| ^~~~~~~~~~~~
/home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.c:434:13: warning: ‘set_link_state’ defined but not used [-Wunused-function]
434 | static void set_link_state(struct dummy_hcd *dum_hcd)
| ^~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:310: /home/●●●●●/install/git/raw-gadget/dummy_hcd/dummy_hcd.o] Error 1
make[1]: *** [Makefile:1522: _module_/home/●●●●●/install/git/raw-gadget/dummy_hcd] Error 2
I'm not a C++ programmer myself so I'm not really sure where to start with this. Could you maybe give me a pointer in the right direction to where I can figure this out myself?
Based on the error about dev_err
not being defined, I think there is something wrong with your kernel headers. Otherwise, no idea.
Right, that sounds like a lot of effort. Honestly, I don't necessarily need Raspbian. Do you maybe have another Debian based distro to recommend? At the end of the day I just want my raspi to emulate a USB or a preferably a CDROM when I plug it in.
I don't have any recommendation wrt a Debian distro for R Pi Zero.
But, on a related note, I never had any issues compiling the Dummy HCD module on R Pi Zero. Clean install + cloning this repo + building the module with the provided scripts always worked for me.
Hmm that's interesting. All I did was:
https://downloads.raspberrypi.org/raspbian_lite_latest
imagemake
command as described above.
Hi,
I'm having the hardest time to get my Raspi Zero to show up as a USB. I found a couple of blogs pointing towards this github so I figured I'd try to install
dummy_hcd
since it is in fact missing in my system. I had some cpp issues with fallthrough, so now I've updated to the latest version of CPP.If I now run make like this to make sure it uses the correct cpp version:
I still get the following error:
Do you have any suggestions on what I can try to debug this some more?