Stlink: [doc] Verifikasi konfigurasi udev yang benar untuk akses perangkat

Dibuat pada 22 Jan 2019  ·  8Komentar  ·  Sumber: stlink-org/stlink

Di Ubuntu dan distro yang diturunkan, st-flash dan st-util membutuhkan sudo untuk bekerja dengan baik.
Menambahkannya ke sudoers (melalui visudo) menghapus kebutuhan akan kata sandi tetapi tidak untuk sudo.
Menambahkan pengguna ke grup dialout tidak akan mengubah apa pun.
Menambahkan baris GROUP="myusername",\ ke aturan udev tidak akan mengubah apa pun.
Akan sangat dihargai jika Anda memberikan dokumentasi tentang cara menghilangkan kebutuhan akan sudo ini, sehingga integrasi dengan IDE (seperti VSCode dan lainnya) akan jauh lebih mudah.

generadocumention olinux question staturesolved

Semua 8 komentar

Bagaimana Anda menginstal stlink?
Jika Anda melakukan hal berikut, Anda tidak perlu sudo untuk menjalankan perintah (asalkan tidak dijalankan sebagai root):

git clone https://github.com/texane/stlink.git
cd stlink/build
cmake ..
make && sudo make install

Perhatikan bahwa Anda mungkin juga perlu memperbarui aturan udev jika belum melakukannya.
stlink_udev_rule.tar.bz2
sudo tar -xvf stlink_udev_rule.tar.bz2 -C /etc/udev/rules.d

Halo dan terima kasih atas jawaban cepatnya
hari ini saya menarik git terakhir (6a9d390a729f381ecec45f212354bfe98e27790f)
kemudian di build saya lakukan
make clean
cmake ..
make && sudo make install

Saya juga menyalin aturan udev ke /etc/udev/rules.d.
Saya membuat aturan udev dapat dieksekusi dan kemudian saya me-restart seluruh komputer

Namun ketika saya melakukannya
st-flash write main.bin 0x8000000
saya mendapatkan
st-flash 1.4.0-58-g6a9d390
2019-01-24T22:21:17 INFO usb.c: bus 483 dev 3748
2019-01-24T22:21:17 WARN usb.c: Couldn't find matched ST-Link/V2 devices
Jika di sisi lain saya melakukannya
sudo st-flash write main.bin 0x8000000
Ini bekerja dengan baik.

Hanya untuk informasi
lsb_release -a && uname -a
dapatkan aku
No LSB modules are available.
Distributor ID: neon
Description: KDE neon User Edition 5.14
Release: 18.04
Codename: bionic
Linux zalman 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Apakah Anda punya ide, apa yang harus saya lakukan?
Salam

Ini berfungsi dengan baik untuk saya di bawah ubuntu 18.04.

Untuk menyelidiki, mulailah dengan mencolokkan perangkat STLINK Anda ke port usb. Kemudian jalankan lsusb . Anda akan melihat entri seperti berikut:

Bus 005 Device 017: ID 0483:374b STMicroelectronics ST-LINK/V2.1 (Nucleo-F103RB)

Catat nomor bus (005) dan Perangkat (017). Anda kemudian harus melakukan:
ls -l /dev/bus/usb/005/017 (menggantikan 005 dan 017 dengan tepat).

Di sistem saya, saya melihat yang berikut:

crw-rw-rw- 1 root root 189, 528 Jan 24 17:52 /dev/bus/usb/005/017

yang dapat ditulis oleh dunia (ini dari MODE:="0666" di bawah). Saya memiliki beberapa file di direktori /etc/udev/rules.d saya. Dalam kasus khusus ini, file 49-stlinkv2-1.rules berisi berikut ini:

# stm32 nucleo boards, with onboard st/linkv2-1
# ie, STM32F0, STM32F4.
# STM32VL has st/linkv1, which is quite different

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", \
    MODE:="0666", \
    SYMLINK+="stlinkv2-1_%n"

# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:="0666" with
# OWNER:="yourusername" to create the device owned by you, or with
# GROUP:="somegroupname" and mange access using standard unix groups.

dan idVendor od 0483 dan idProduct dari 374b cocok dengan id vendor dari output lsusb.

Pastikan Anda memiliki semua 3 file dari sini: https://github.com/texane/stlink/tree/master/etc/udev/rules.d di direktori /etc/udev/rules.d Anda. Setelah menyalin file baru atau mengedit file yang ada di /etc/udev/ruled.d Anda harus menjalankan yang berikut ini:

sudo udevadm control --reload-rules
sudo udevadm trigger

untuk memastikan bahwa aturan benar-benar berlaku. Menggunakan perintah pemicu berarti Anda tidak perlu mencabut dan memasang kembali perangkat, tetapi Anda mungkin ingin mencobanya juga.

Jika VID:PID perangkat Anda tidak cocok dengan yang ada di salah satu dari 3 file tersebut, maka Anda mungkin perlu membuat file aturan khusus agar sesuai dengan VID:PID Anda.

Halo dan terima kasih atas jawabannya
Saya melakukan semua ini
ls -l /dev/bus/usb/001/011 crw-rw-rw-+ 1 root root 189, 10 Jan 25 19:56 /dev/bus/usb/001/011
Hal ini masih sama.
Dengan menambahkan perintah di sudo visudo, saya tidak perlu memasukkan kata sandi lagi tetapi masih membutuhkan sudo.
Itu aneh

@dhylands apakah Anda ingin memperbarui dokumentasi dengan deskripsi ekstensif? Di https://github.com/texane/stlink/blob/master/doc/compiling.md#permissions -with-udev.

@dhylands : Bolehkah saya copy-paste deskripsi Anda ke dokumentasi kami?

@Nightwalker-87 Dengan segala cara - jangan ragu.

@davehylands : Terima kasih atas kontribusi dan umpan balik Anda yang bermanfaat.

Menutupnya dengan commit d3c11fbef6d8205742152f646b223323dc4c0913 seperti yang kita ketahui sekarang bahwa konfigurasi udev berfungsi.
Saya dapat mengkonfirmasi ini dengan sistem debian terbaru juga.

Masalahnya tampaknya merupakan masalah yang terisolasi pada instalasi lokal yang tidak dapat kami produksi ulang.
Saran penutup adalah mencoba lagi dengan instalasi (sistem) bersih dengan izin pengguna default.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat