diff --git a/embedded-workshop-book/src/SUMMARY.md b/embedded-workshop-book/src/SUMMARY.md index 7809594..a2ea857 100644 --- a/embedded-workshop-book/src/SUMMARY.md +++ b/embedded-workshop-book/src/SUMMARY.md @@ -56,4 +56,5 @@ - [`cargo-flash` is not working](./troubleshoot-cargo-flash.md) - [Rust analyzer is not working](./troubleshoot-rust-analyzer.md) - [`cargo-build` fails to link](./troubleshoot-cargo-build.md) - - [`dongle-flash` is not working](./troubleshoot-dongle-flash.md) \ No newline at end of file + - [`dongle-flash` is not working](./troubleshoot-dongle-flash.md) + - [Dongle USB functionality is not working](./troubleshoot-usb-dongle.md) diff --git a/embedded-workshop-book/src/dongle.md b/embedded-workshop-book/src/dongle.md index 103830f..7fb5df1 100644 --- a/embedded-workshop-book/src/dongle.md +++ b/embedded-workshop-book/src/dongle.md @@ -79,31 +79,9 @@ deviceid=588c06af0877c8f2 channel=20 TxPower=+8dBm app=loopback.hex This line is printed by the `loopback` app on boot. It contains the device ID of the dongle, a 64-bit unique identifier (so everyone will see a different number); the radio channel that the device will use to communicate; and the transmission power of the radio in dBm. -## USB issues +If you don't get any output from `serial-term` check [the USB dongle troubleshooting section][usb-issues]. -If you don't get any output from `serial-term` it could just have been that first line got lost when re-enumerating the device from bootloader mode to the loopback application. Run these *two* commands: - -``` console -$ change-channel 20 -requested channel change to channel 20 - -$ change-channel 20 -requested channel change to channel 20 -``` - -You should get *two* lines of output in `serial-term` - -``` console -$ serial-term -now listening on channel 20 -now listening on channel 20 -``` - -If that's the case you are good to go: proceed to the "Interference" section below. - -If you only get one line of output then your OS may be losing some serial data -- we have seen this behavior on some macOS machines. You will still be able to work through the exercises but will miss log data every now and then. Proceed to the "Interference" section below. - -If you don't get *any* output from `serial-term` and/or the `change-channel` command fails then the Dongle's USB functionality is not working correctly. In this case you should use the `loopback-nousb*` programs. These have no USB functionality but you will be able to use them to do the exercises. There are four `.hex` files available. You can pick any of them but commit the number in the file name to memory; this is the radio channel the Dongle will listen to. The "Interference" section below will not apply to you. +[usb-issues]: /troubleshoot-usb-dongle.html ## Interference diff --git a/embedded-workshop-book/src/troubleshoot-usb-dongle.md b/embedded-workshop-book/src/troubleshoot-usb-dongle.md new file mode 100644 index 0000000..b87c732 --- /dev/null +++ b/embedded-workshop-book/src/troubleshoot-usb-dongle.md @@ -0,0 +1,29 @@ +# Dongle USB functionality is not working + +> NOTE: this section only applies to the Beginner workshop + +If you don't get any output from `serial-term` it could just have been that first line got lost when re-enumerating the device from bootloader mode to the loopback application. Run these *two* commands: + +``` console +$ change-channel 20 +requested channel change to channel 20 + +$ change-channel 20 +requested channel change to channel 20 +``` + +You should get *two* lines of output in `serial-term` + +``` console +$ serial-term +now listening on channel 20 +now listening on channel 20 +``` + +If that's the case you are good to go, return to the ["Interference"] section. + +["Interference"]: /dongle.html#interference + +If you only get one line of output then your OS may be losing some serial data -- we have seen this behavior on some macOS machines. You will still be able to work through the exercises but will miss log data every now and then. Return to the ["Interference"] section. + +If you don't get *any* output from `serial-term` and/or the `change-channel` command fails then the Dongle's USB functionality is not working correctly. In this case you should flash one of the `loopback-nousb*` programs (repeat the procedure: put the device in bootloader mode; then run `dongle-flash`). These programs have no USB functionality but you will be able to use them to do the exercises. There are four `.hex` files available; pick one of them and flash it but take note of the number in the file name; this is the radio channel the Dongle will listen to. The Dongle will toggle the state of its green LED when it receives a packet. Return to the ["Interference"] section.