2012-03-02 41 views
7

Tôi đang nghiên cứu cách giao tiếp với thiết bị USB trong Linux và không muốn viết trình điều khiển Hạt nhân Linux. Tôi hiểu rằng libusb tồn tại và là một thư viện người dùng có thể hoạt động, nhưng thiết bị nhúng của chúng tôi không hỗ trợ usbfs (và thực sự là một nỗi đau để thay đổi hạt nhân để thêm hỗ trợ). Vì vậy, câu hỏi của tôi về cơ bản là: Có thể/khuyến khích giao tiếp với thiết bị USB bằng cách đọc và ghi trực tiếp vào/dev/USB hoặc tệp udev tương ứng với thiết bị USB do đó bỏ qua sự cần thiết cho Linux tùy chỉnh Trình điều khiển và usbfs? Tôi hy vọng có thể giao tiếp bằng giao thức thiết bị USB chỉ bằng cách đọc/ghi các gói giao thức trực tiếp thông qua các lệnh đọc/ghi kiểu tệp khi tệp thiết bị/dev/USB hoặc udev mở.Truy cập Linux/dev/USB làm tệp chuẩn để giao tiếp với thiết bị USB

Suy nghĩ và đề xuất vui lòng.

theo dõi:

Kể từ khi thiết bị USB tôi cần phải nói chuyện với là một thiết bị USB lớp HID, tôi đã có thể sử dụng libudev và tiêu chuẩn Linux USB HID điều khiển RAW bằng cách đọc/ghi trực tiếp vào/dev/hidraw0 (hoặc thiết bị/dev/hidraw thích hợp). Nó không phải là cần thiết để viết một trình điều khiển tùy chỉnh cho một thiết bị USB HID đơn giản.

Trả lời

4

Jim, tôi không nghĩ rằng bạn có thể thoát khỏi nhu cầu viết trình điều khiển và chỉ quản lý để đọc tệp USB trong /dev. Vì ai định nghĩa điều gì sẽ xảy ra khi bạn thực hiện read() trên tệp thiết bị USB? Và ai xác định hành động nào nên được bắt đầu khi bạn gọi sysioctl()? Trình điều khiển của bạn! Nói cách khác, các tập tin thiết bị là bản thân họ không có khả năng của bất cứ điều gì cho đến khi chúng được hỗ trợ bởi các trình điều khiển cơ bản. Trong thực tế, bạn có thể xử lý các tập tin thiết bị là một trừu tượng của trình điều khiển cơ bản! Vì vậy, không lái xe, không sử dụng các tập tin thiết bị :(

Tôi đề nghị bạn đi qua các bài viết sau đây về làm thế nào để viết một trình điều khiển và cũng hiểu được USB internals-

  1. http://www.linux-usb.org/USB-guide/c15.html

  2. http://www.linuxjournal.com/article/4786 (Hơi lỗi thời)

+0

Cảm ơn bạn Pavan. Đó là những gì tôi đã tìm ra câu trả lời. Sẽ không quá khó để tiếp tục và sử dụng li busb. – Chimera

+0

Trình điều khiển USB là một phần thú vị! Tôi đã rất muốn viết một cái gì đó về điều đó. Rất muốn biết sự tiến bộ của bạn trong điều này, Jim! –

+0

Ok Pavan, tôi sẽ cập nhật cho bạn! :-) – Chimera

Các vấn đề liên quan