google / google/comprehensive-rust

Instructions for bare metal part regarding udev rules didn't work

Open
#608 6 comments 0 reactions 1 assignee Claimed by @qwandor View on GitHub
deep_dives/bare_metal
Dominant language
Rust
Stars
33.4k
Forks
2.1k
Avg merge
1d 3h
Merged PRs (30d)
10

Description

When I tried to run the `cargo embed` command to flash the microbit:v2 controller, it failed with a permission error regarding device `/dev/hidraw0`. Unfortunately I do not have the exact error message since I accidentally closed the terminal window.

It turned out that I had to change the udev rules to make it work.

Instead the contents that made it work are:

```
SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", ATTR{idProduct}=="0204", MODE:="666"
```

taken from: https://docs.rust-embedded.org/discovery/microbit/03-setup/linux.html#udev-rules

I think this is because the `plugdev` group is ubuntu specific and according to the Arch Wiki:

`Ubuntu's approach is to create a plugdev group that devices are added to, but this practice is not only discouraged by the systemd developers, [[2]](https://bugzilla.redhat.com/show_bug.cgi?id=815093) but considered a bug when shipped in udev rules on Arch`

(It could be also that I forgot to reload the rules and/or re-plug in the controller, but I think I did that. At any case I open this issue in case others have the same problem)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.