Điểm:0

Cổng Arduino Không được phát hiện và không thể chạy nó với quyền root

lá cờ cn

Tôi có hai Ubuntu, một là 18.04 và một là 20.04, tôi cũng gặp một số vấn đề với bo mạch Arduino, tôi đã thử cái này hướng dẫn (kết nối pin và ...): nhập mô tả hình ảnh ở đây

Tuy nhiên, Arduino IDE không thể phát hiện bảng STM32f013c8t6 với Arduino, vì vậy tôi đã cố gắng tìm kết nối USB của cổng bằng cách sử dụng cái này gửi lệnh của câu trả lời của nó, như bạn có thể thấy bên dưới:

sudo usermod -a -G dialout $USER
 ls -al /dev/USB*
ls: không thể truy cập '/dev/USB*': Không có tệp hoặc thư mục như vậy

Và bằng cách thử một số người khác đăng hướng dẫn:


lsusb
Xe buýt 002 Thiết bị 001: ID 1d6b:0003 Trung tâm gốc Linux Foundation 3.0
Xe buýt 001 Thiết bị 005: ID 0bda:0821 Realtek Semiconductor Corp. 
Bus 001 Thiết bị 004: ID 0bda:0129 Realtek Semiconductor Corp. Bộ điều khiển đầu đọc thẻ RTS5129
Xe buýt 001 Thiết bị 003: ID 174f:2408 Syntek 
Xe buýt 001 Thiết bị 006: ID 0483:3748 STMicroelectronics ST-LINK/V2
Bus 001 Thiết bị 002: ID 046d:c077 Chuột quang M105 của Logitech, Inc.
Xe buýt 001 Thiết bị 001: ID 1d6b:0002 Trung tâm gốc Linux Foundation 2.0

và bằng cách trign lsb -v -d lệnh tôi nhận được kết quả dưới đây:

 lsusb -v -d 0483:3748

Xe buýt 001 Thiết bị 006: ID 0483:3748 STMicroelectronics ST-LINK/V2
Mô tả thiết bị:
  Chiều dài 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Được xác định ở cấp Giao diện)
  bDeviceSubClass 0 
  bDeviceProtocol 0 
  bMaxPacketSize0 64
  idVendor 0x0483 STMicroelectronics
  idSản phẩm 0x3748 ST-LINK/V2
  bcdDevice 1.00
  iNhà sản xuất 1 STMicroelectronics
  iProduct 2 STM32 STLink
  iSerial 3 &/26MCKN
  bNumConfigsudo tạp chíctl -furations 1
  Mô tả cấu hình:
    chiều dài 9
    bDescriptorType 2
    wTổng chiều dài 39
    bNumGiao diện 1
    bConfigurationValue 1
    iCấu hình 0 
    bmAttributes 0x80
      (Chạy bằng xe buýt)
    Công suất tối đa 100mA
    Mô tả giao diện:
      chiều dài 9
      bDescriptorType 4
      bGiao diệnSố 0
      bAlternateCài đặt 0
      bNumĐiểm cuối 3
      bInterfaceClass 255 Lớp dành riêng cho nhà cung cấp
      bInterfaceSubClass 255 Phân lớp dành riêng cho nhà cung cấp
      bInterfaceProtocol 255 Giao thức dành riêng cho nhà cung cấp
      Liên kết iInterface 4 ST
      Bộ mô tả điểm cuối:
        chiều dài 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 2
          Loại chuyển số lượng lớn
          Loại đồng bộ Không có
          Dữ liệu loại sử dụng
        wMaxPacketSize 0x0040 1x 64 byte
        bKhoảng thời gian 0
      Bộ mô tả điểm cuối:
        chiều dài 7
        bDescriptorType 5
        bEndpointAddress 0x02 EP 2 OUT
        bmAttributes 2
          Loại chuyển số lượng lớn
          Loại đồng bộ Không có
          Dữ liệu loại sử dụng
        wMaxPacketSize 0x0040 1x 64 byte
        bKhoảng thời gian 0
      Bộ mô tả điểm cuối:
        chiều dài 7
        bDescriptorType 5
        bEndpointAddress 0x83 EP 3 IN
        bmAttributes 2
          Loại chuyển số lượng lớn
          Loại đồng bộ Không có
          Dữ liệu loại sử dụng
        wMaxPacketSize 0x0040 1x 64 byte
        bKhoảng thời gian 0
Trạng thái thiết bị: 0x0000
  (Chạy bằng xe buýt)

vì vậy không thể thấy cổng kết nối trên Arduino đã được cài đặt bằng snap như bạn có thể thấy bên dưới:

nhập mô tả hình ảnh ở đây

Ngoài ra, đã thử chạy Arduino với tư cách người dùng root nhưng tôi gặp lỗi dưới đây:

sudo arduino
mkdir: không thể tạo thư mục '/ run/user/0': Quyền bị từ chối

(quy trình: 22688): dconf-CRITICAL **: 19:29:51.179: không thể tạo thư mục '/run/user/0/snap.arduino/dconf': Quyền bị từ chối. dconf sẽ không hoạt động bình thường.

(quy trình: 22688): dconf-CRITICAL **: 19:29:51.179: không thể tạo thư mục '/run/user/0/snap.arduino/dconf': Quyền bị từ chối. dconf sẽ không hoạt động bình thường.
Không có giao thức được chỉ định

(quy trình: 22688): dconf-CRITICAL **: 19:29:51.180: không thể tạo thư mục. Nó không hoạt động!.y '/run/user/0/snap.arduino/dconf': Quyền bị từ chối. dconf sẽ không hoạt động bình thường.
Đã chọn Java_TOOL_OPTIONS: 
Đặt thư mục lưu trữ log4j /root/snap/arduino/56/.arduino15
Không có giao thức được chỉ định
java.awt.AWTError: Không thể kết nối với máy chủ cửa sổ X11 bằng cách sử dụng ':0' làm giá trị của biến HIỂN THỊ.
    tại java.desktop/sun.awt.X11GraphicsEnvironment.initDisplay(Phương thức bản địa)
    tại java.desktop/sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:102)
    tại java.base/java.security.AccessController.doPrivileged(Phương thức gốc)
    tại java.desktop/sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:61)
    tại java.base/java.lang.Class.forName0(Phương thức gốc)
    tại java.base/java.lang.Class.forName(Class.java:315)
    tại java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:101)
    tại java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:83)
    tại java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:129)
    tại java.desktop/sun.awt.X11.XToolkit.<clinit>(XToolkit.java:231)
    tại java.base/java.lang.Class.forName0(Phương thức gốc)
    tại java.base/java.lang.Class.forName(Class.java:315)
    tại java.desktop/java.awt.Toolkit$2.run(Toolkit.java:588)
    tại java.desktop/java.awt.Toolkit$2.run(Toolkit.java:583)
    tại java.base/java.security.AccessController.doPrivileged(Phương thức gốc)
    tại java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:582)
    tại java.desktop/java.awt.SystemColor.updateSystemColors(SystemColor.java:473)
    tại java.desktop/java.awt.SystemColor.<clinit>(SystemColor.java:465)
    tại process.app.Theme.init(Theme.java:343)
    tại process.app.Base.<init>(Base.java:250)
    tại process.app.Base.main(Base.java:150)


Vì vậy, tôi đoán điều này không hoạt động vì đã cài đặt Arduino bằng snap và cố gắng sửa nó bằng cách Sudo snap connect arduino:removable-media lệnh nhưng tôi nhận được mkdir: không thể tạo thư mục '/ run/user/0': Quyền bị từ chối lỗi một lần nữa, vì vậy tôi đã hỏi ở đây:

Cập nhật1:

dựa trên nhận xét đầu tiên tôi đã thử tạp chí sudoctl -fvà lấy kết quả dưới đây:

tạp chí sudoctl -f
-- Nhật ký bắt đầu vào Thu 2020-11-19 13:24:37 +0330. --
ÚÙئ٠13 20:24:57 so-Lenovo-ideapad-310-15IKB tunnel.service[4851]: thêm cầu không thành công: Thao tác không được phép
ÚÙئ٠13 20:24:57 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() fail
ÚÙئ٠13 20:24:58 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() fail
ÚÙئ٠13 20:24:59 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() fail
ÚÙئ٠13 20:25:00 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() fail
ÚÙئ٠13 20:25:01 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() fail
ÚÙئ٠13 20:25:02 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() fail
ÚÙئ٠13 20:25:03 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() fail
ÚÙئ٠13 20:25:03 so-Lenovo-ideapad-310-15IKB sudo[30096]: so : TTY=pts/0 ; NKT=/nhà/thế ; NGƯỜI DÙNG=gốc ; LỆNH=/bin/journalctl -f
ÚÙئ٠13 20:25:03 so-Lenovo-ideapad-310-15IKB sudo[30096]: pam_unix(sudo:session): phiên mở cho người dùng root bởi (uid=0)
ÚÙئ٠13 20:25:04 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() fail
ÚÙئ٠13 20:25:05 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() fail
ÚÙئ٠13 20:25:06 so-Lenovo-ideapad-310-15IKB nautilus-deskto[17909]: connect() fail
ÚÙئ٠13 20:25:07 so-Lenovo-ideapad-310-15IKB tunnel.service[4851]: thêm cầu bị lỗi: Thao tác không được phép


Ngoài ra tôi đã cài đặt phiên bản Arduino cuối cùng bằng cách liên kết này và đang chạy bằng sudo arduino lệnh nhưng cho đến khi có vấn đề này!.

Cập nhật2:

Thật kỳ lạ là tôi đã thấy bài viết dưới đây đó là nói lập trình viên ST-link V2 có thể là giả mạo và có một số kết nối pin saivà nếu có thể tôi muốn hỏi, điều gì sẽ xảy ra nếu tôi thay đổi 2,4,6 cấu hình chân dựa trên bài đăng đó? như bạn có thể thấy dưới đây:

nhập mô tả hình ảnh ở đây

cập nhật 3:

tôi đã kiểm tra ST-Link V2 và các chân đã được dán nhãn chính xác. vì vậy vấn đề không phải từ sai liên kết st hệ thống ghim!. Cảm ơn.

waltinator avatar
lá cờ it
Dự đoán của bạn là sai. `usermod` thay đổi các tệp hệ thống chỉ được tham khảo tại `đăng nhập`.
waltinator avatar
lá cờ it
Dự đoán của bạn là sai. Xem `sudo journalctl -f` khi bạn kết nối Arduino. Đó có thể là `/dev/ttyUSB*`.
lá cờ cn
Tôi đã cập nhật câu hỏi.
N0rbert avatar
lá cờ zw
ST-LInk có thể không được nhận dạng là ttyUSB và điều đó là bình thường. Bạn phải tìm hướng dẫn cụ thể để thiết lập ST-Link trên Ubuntu. Khi bắt đầu, bạn có thể sử dụng [tài liệu này](https://github.com/stm32duino/wiki/wiki/Upload-methods). Để có kết quả có thể lặp lại nhiều hơn, vui lòng cài đặt Arduino IDE [sử dụng ubuntu-make](https://askubuntu.com/a/1025755/66509) và xóa phiên bản snap (nếu có).
Điểm:0
lá cờ cn

dựa trênN0rbert Nhận xét, Vấn đề tồn tại bởi phiên bản snap của Arduino được cho là đây:

nhập mô tả hình ảnh ở đây

Vì vậy, tôi đã thực hiện bước dưới đây:

1- Tôi đã cài đặt phiên bản Arduino cuối cùng bằng cách liên kết này.

2-Dựa trên tài liệu này, tôi đã cài đặt STM32CubePrg

3-Chọn cài đặt và mã bên dưới để kiểm tra:

nhập mô tả hình ảnh ở đây

#define LED_BUILTIN PC13
thiết lập vô hiệu () {
  // khởi tạo chân kỹ thuật số LED_BUILTIN làm đầu ra.
  pinMode(LED_BUILTIN, ĐẦU RA);
}
 
// Hàm vòng lặp chạy đi chạy lại mãi mãi
vòng lặp vô hiệu () {
  digitalWrite(LED_BUILTIN, CAO); // bật đèn LED (CAO là mức điện áp)
  chậm trễ (2000); // đợi một chút
  kỹ thuật sốWrite (LED_BUILTIN, THẤP); // tắt đèn LED bằng cách đặt điện áp THẤP
  độ trễ (1000); // đợi một chút
}

4- Chuyển tiêu đề BOOT 0 từ vị trí '0' sang vị trí '1' trước khi kết nối bảng FTDI với máy tính để flash bootloader như đã nói ở trên Video này từ bài đăng này:

nhập mô tả hình ảnh ở đâyCám ơn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.