raspberrypi / usbboot

Raspberry Pi USB booting code, moved from tools repository
Apache License 2.0
905 stars 229 forks source link

Stuck waiting for BCM2837 on Mac #35

Closed ball-hayden closed 6 years ago

ball-hayden commented 6 years ago

Environment: MacOS High Sierra (10.13.3) libusb stable 1.0.22 (installed via homebrew) CM3 with CM3IO board (USB Slave Boot Enable is EN).

make succeeds, but displays deprecation warnings:

$ make
cc -Wall -Wextra -g -o bin2c bin2c.c
./bin2c msd/bootcode.bin msd/bootcode.h
./bin2c msd/start.elf msd/start.h
cc -Wall -Wextra -g -o rpiboot main.c -lusb-1.0
main.c:394:16: warning: comparison of array 'pathname' not equal to a null pointer is always true [-Wtautological-pointer-compare]
                if(overlay&&(pathname != NULL))
                             ^~~~~~~~    ~~~~
main.c:601:2: warning: 'libusb_set_debug' is deprecated [-Wdeprecated-declarations]
        libusb_set_debug(ctx, verbose ? LIBUSB_LOG_LEVEL_WARNING : 0);
        ^
/usr/local/include/libusb-1.0/libusb.h:1299:1: note: 'libusb_set_debug' has been explicitly marked deprecated here
LIBUSB_DEPRECATED_FOR(libusb_set_option)
^
/usr/local/include/libusb-1.0/libusb.h:89:49: note: expanded from macro 'LIBUSB_DEPRECATED_FOR'
#define LIBUSB_DEPRECATED_FOR(f) __attribute__((deprecated))
                                                ^
2 warnings generated.

Running sudo ./rpiboot appears to run as expected, but the pi is never detected - I see "Waiting for BCM2835/6/7" forever.

There doesn't appear to be anything in the syslog to show the pi appearing as a USB device.

ghollingworth commented 6 years ago

You say 2835/6/7

2835 and 2836 have a known issue with the MacBook (which may extend to other Apple computers, it is unclear whether it is a software or hardware limitation.)

2837 (Pi 3, Pi 3+, CM3) has this bug fixed

Gordon

On Thu, 21 Jun 2018 at 16:14, Hayden Ball notifications@github.com wrote:

Environment: MacOS High Sierra (10.13.3) libusb stable 1.0.22 (installed via homebrew) CM3 with CM3IO board (USB Slave Boot Enable is EN).

make succeeds, but displays deprecation warnings:

$ make cc -Wall -Wextra -g -o bin2c bin2c.c ./bin2c msd/bootcode.bin msd/bootcode.h ./bin2c msd/start.elf msd/start.h cc -Wall -Wextra -g -o rpiboot main.c -lusb-1.0 main.c:394:16: warning: comparison of array 'pathname' not equal to a null pointer is always true [-Wtautological-pointer-compare] if(overlay&&(pathname != NULL)) ^~~~ ~~~~ main.c:601:2: warning: 'libusb_set_debug' is deprecated [-Wdeprecated-declarations] libusb_set_debug(ctx, verbose ? LIBUSB_LOG_LEVEL_WARNING : 0); ^ /usr/local/include/libusb-1.0/libusb.h:1299:1: note: 'libusb_set_debug' has been explicitly marked deprecated here LIBUSB_DEPRECATED_FOR(libusb_set_option) ^ /usr/local/include/libusb-1.0/libusb.h:89:49: note: expanded from macro 'LIBUSB_DEPRECATED_FOR'

define LIBUSB_DEPRECATED_FOR(f) attribute((deprecated))

                                            ^

2 warnings generated.

Running sudo ./rpiboot appears to run as expected, but the pi is never detected - I see "Waiting for BCM2835/6/7" forever.

There doesn't appear to be anything in the syslog to show the pi appearing as a USB device.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/raspberrypi/usbboot/issues/35, or mute the thread https://github.com/notifications/unsubscribe-auth/AB9CHE3xpQkv0qyIhpVnSA-vAhJ5f3JGks5t-7hsgaJpZM4UyRWI .

ball-hayden commented 6 years ago

Thanks for your prompt response. This is using a CM3, so it is the 2837...

burtyb commented 6 years ago

To fix the first compiler warning you probably want https://github.com/raspberrypi/usbboot/pull/34/commits/838b8753b848e86015b81f106e9c69a9035a9fd6

ball-hayden commented 6 years ago

Thanks @burtyb. I checked out https://github.com/raspberrypi/usbboot/pull/34 and tried again - still no luck unfortunately. Is there anywhere you could suggest looking so I can provide more information to help debug this? I'm not particularly familiar with the Mac platform myself, so maybe there's a different log I should be looking at?

ball-hayden commented 6 years ago

Turns out it was a bad USB cable. Sorry for the noise 😦