Ubuntu không phát hiện thiết bị Android của tôi


34

Tôi mới sử dụng Android. Tôi vừa tải và cài đặt sdk android. Bây giờ khi tôi chạy ứng dụng từ nhật thực, thiết bị của tôi không bị phát hiện. Tôi đã googled và đã đưa ra điều này như là giải pháp của tôi, nhưng điều đó cũng không hiệu quả.

Đây là 51-android.rules

SUBSYSTEMS=="usb", ATTR{idProduct}=="0bb4",  ATTR{idProduct}=="0c03", MODE="0666", GROUP="plugindev", OWNER="<username>"

Sau đó, tôi khởi động lại máy tính xách tay của mình và chạy lệnh này:

username@laptopname:~/Android/adt-bundle/sdk/platform-tools$ adb devices

Đầu ra tôi nhận được là:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
????????????    no permissions

CHỈNH SỬA

crazydeveloper@crazydeveloper:~$ lsusb
Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.) 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b337 Chicony Electronics Co., Ltd 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/004/
ls: cannot access /dev/bus/usb/004/: No such file or directory
crazydeveloper@crazydeveloper:~$ 

Chỉnh sửa: 2

Sau khi câu trả lời được gửi ở đây, đầu ra mà tôi nhận được:

crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/002
total 0
crw-rw-r--  1 root root    189, 128 May  7 09:45 001
crw-rw-r--+ 1 root root    189, 129 May  7 09:45 002
crw-rw-rw-  1 root plugdev 189, 130 May  7 09:48 003

Tôi đang sử dụng Micromax Canvas 2.2 A114 - Phiên bản Android 4.2.2

Làm ơn giúp tôi. Cảm ơn.


2
Là gỡ lỗi USB được bật trên Android?
Jon Hanna

Vâng. nó được bật
Hoàng tử Saiyan


1
Nó nên là SUBSYSTEM, số ít.
pakman

Câu trả lời:


42

OK đây là tất cả các bước để làm việc này. Tôi gặp vấn đề với tất cả các phản hồi tôi tìm thấy trực tuyến, bit và mẩu ở mọi nơi mà không có bất kỳ trật tự nhất định và không có giải pháp làm việc duy nhất, (chạy Android Studio, Jmonkey 3D và Ubuntu 14.04)

Nếu thiết bị adb hiển thị thiết bị Android là ????????? (không có quyền) làm theo các hướng dẫn sau:

  1. tạo tập tin /etc/udev/rules.d/51-android.rules

    sudo gedit /etc/udev/rules.d/51-android.rules
    
  2. sao chép và dán nội dung dưới đây:

    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666", GROUP="plugdev"    
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666", GROUP="plugdev" 
    
  3. Chạy lệnh sau để thay đổi quyền truy cập tệp:

    sudo chmod a+r /etc/udev/rules.d/51-android.rules
    
  4. kết nối điện thoại của bạn qua usb và chạy lệnh sau:

    lsusb
    

    Tìm ví dụ về thiết bị của bạn (Nexus 5):

    Xe buýt 003 Thiết bị 074: ID 18d1 : 4ee7 Google Inc.

    Đối với Nexus 5 , ID nhà cung cấp là 18d1 , của tôi là trên Bus " 003 " Nếu bạn không thấy thay đổi khi bạn cắm thiết bị của mình bằng lsusb , có lẽ cáp USB của bạn chỉ sạc.

  5. Bây giờ tải lại các quy tắc với các lệnh sau:

    sudo udevadm control --reload-rules
    sudo service udev restart
    sudo udevadm trigger
    
  6. Xác minh thiết bị hiện đang cho phép truy cập nhóm người dùng plugdev

    ls -l /dev/bus/usb/<bus number from step 4>
    

    Thí dụ:

    ls -l /dev/bus/usb/003
    crw-rw-rw- 1 root plugdev 189, 329 Jul  3 18:23 074
    
  7. Chạy các thiết bị adb để xác nhận quyền là chính xác và tận hưởng!

Lưu ý: nếu bạn chưa tạo nhóm plugdevthêm tên người dùng của mình vào đó (nếu quyền bị từ chối, hãy thêm vào các lệnh sau "sudo"):

  1. Thêm nhóm plugdev:

    groupadd plugdev
    
  2. Thêm tên người dùng của bạn vào nhóm plugdev ( tên người dùng -G {tên nhóm}):

    useradd -G plugdev billy
    
  3. Khởi động lại udev (bạn có thể cần phải đăng xuất và đăng nhập lại để cập nhật nhóm người dùng):

    sudo service udev restart
    

@EvanCarrol: chỉnh sửa của bạn được thực hiện tốt nhất là bước 0 trước khi bạn bắt đầu, không phải ở giữa (xin lỗi vì đã từ chối nhưng nó làm cho câu trả lời ít rõ ràng hơn thay vì rõ ràng hơn): /
Fabby

Câu trả lời này hoạt động độc đáo. Sau khi cập nhật lên 15.10, tôi phải làm điều này sau mỗi lần khởi động lại. Hoạt động tuyệt vời.
Chúng tôi là Borg

Tôi có thể gọi nó là Câu trả lời gợi cảm không ... bạn đã có một ngày cảm ơn bạn thân ...
Tushar Pandey

5

Hãy thử nhóm plugdevchứ không phải plugindev. Sau đó khởi động lại udev:

sudo udevadm control --reload-rules
sudo service udev restart

Nếu điều này không hoạt động, hãy tìm chính xác nơi thiết bị của bạn được kết nối với lsusb. Sau đó kiểm tra các quyền:

ls -l /dev/bus/usb/YOUR_USB_BUS_NO/

Thực tế lsusbđã cho chúng tôi:

Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.)

có nghĩa là điện thoại di động của bạn được kết nối với Bus 002 dưới dạng thiết bị 004. Do đó, đối tượng thiết bị đã tạo /dev/bus/usb/002/004.

Vui lòng cho chúng tôi xem các quyền của thiết bị bằng lệnh:

ls -l /dev/bus/usb/002/004

Như một giải pháp tạm thời, bạn có thể làm cho thế giới thiết bị có thể đọc / ghi được bằng lệnh này (đảm bảo điện thoại của bạn được cắm):

sudo chmod 666 /dev/bus/usb/002/004

Sau đó thử adb deviceslại.

Ngoài ra tôi nhận thấy rằng vào cuối quy tắc udev bạn có OWNER="<username>". Bạn đã thực sự thay thế bằng OWNER="crazydeveloper", phải không?

Quyền của bạn là loại OK. udev nhặt thiết bị lên và đặt quyền của nó thành 666 và nhóm thành plugdev. Nó không đặt chủ sở hữu thành crazydeveloper vì một số lý do nhưng điều đó không quan trọng.

Hãy chắc chắn rằng bạn là thành viên của nhóm plugdev. Sử dụng lệnh này:

sudo useradd -G plugdev crazydeveloper

Sau đó đăng xuất, rút ​​phích cắm điện thoại di động, đăng nhập lại, cắm điện và thử adb deviceslại. Hãy để biết những gì đang xảy ra.


xin vui lòng xem câu hỏi ngay bây giờ ..
Hoàng tử Saiyan

kiểm tra câu hỏi ngay bây giờ
Hoàng tử Saiyan

Also I noticed that at the end of the udev rule you have OWNER="<username>". You did actually replace that with OWNER="crazydeveloper", didn't you ?Giúp tôi với. Cảm ơn :): D
Yash Sodha

Làm theo lời khuyên của bạn nhưng nó không làm việc cho tôi. Những gì đã làm việc là chuyển qua các tùy chọn USB được cung cấp bởi thiết bị, hãy thử chuyển sang PTP từ MTP. Cái này làm việc cho tôi
George D

4

Bạn phải thay đổi 2 điều:

  1. Thay đổi 'ATTR {id sản phẩm}' đầu tiên thành 'ATTR {idVendor}' trong tệp 51-android.rules.

  2. Chạy các lệnh này từ thiết bị đầu cuối:

    sudo ./adb kill-server
    sudo ./adb start-server
    sudo ./adb devices
    

3

Đó có thể là một lỗi nhỏ, như tôi có thể thấy trong 51-android.rules bạn đã nhân đôi tham số idSản phẩm và không có idVendor, hãy thử đổi tên đơn giản.


1

Thiết bị Android của tôi có lỗi gỡ lỗi USB dường như là một vấn đề, vì vậy tôi đã đi đến cài đặt của nhà phát triển và tắt nó đi. Tôi đã cắm lại cáp USB và sau đó một cửa sổ xuất hiện cho phép tôi bật bộ lưu trữ USB. Điều đó làm cho Ubuntu 14.04 của tôi phát hiện thiết bị Android. Tôi không biết liệu tất cả các thiết bị có cài đặt này không nhưng nó đã khắc phục sự cố của tôi, trong khi tôi đã thử tất cả các phương pháp khác. Cảm ơn bạn


0

Tôi gặp vấn đề tương tự với thiết bị Android của tôi (HTC one (M7)) trong phiên bản Ubuntu 14.04. Vì vậy, tôi đã khởi động lại vào windows 7.0. Tìm thấy vấn đề tương tự ở đó quá. Khi tìm kiếm tôi tìm thấy các liên kết sau đây. http://www.makeuseof.com/answers/why-is-my-windows-7-l mỏi-not-insecting -any-android-devices /

Tôi đã quay số * # 7284 # theo đề xuất của Gerry Anthony trong liên kết đó. Và nó hoạt động trên Windows. Tôi đã khởi động lại vào Ubuntu 14.04 và thiết bị Android của tôi đã được phát hiện.



0

Sau khi thử mọi giải pháp tiềm năng chi tiết ở trên và trong các chủ đề khác từ các diễn đàn khác, tôi phát hiện ra rằng lý do HOX của tôi đã quyết định không liên lạc với máy tính xách tay của tôi nữa (14.04) là một cách đơn giản, cơ học hơn. USB dẫn đến ổ cắm micro USB của thiết bị cầm tay bị lỗi. Bằng cách sử dụng khách hàng tiềm năng luôn có vẻ cứng hơn và ít có khả năng tồn tại hơn so với dịch vụ chung được mua tại AsDa, dịch vụ bình thường đã được nối lại.

DMM sau đó đã được sử dụng để cho thấy chính xác tình trạng này đã diễn ra như thế nào: Điện trở của chuỗi cung cấp + 5V trong dây dẫn đó đã tăng lên đến mức nó đọc gần như mở. Giá trị R của o / e, dây + 5V của HTC được gắn thẻ chỉ có điện trở thấp hơn một chút so với mức chết ngắn và không đặc biệt tốt về hoạt động hoặc bố trí của micro USB, tôi không thể hiểu được điều này ảnh hưởng như thế nào truyền dữ liệu vì vậy chỉ có thể giả sử rằng đường ray cung cấp trong bảng I / O trên một hoặc cả hai thiết bị sử dụng phần + 5V của một hoặc cả hai ổ cắm để truyền dữ liệu.

Những gì tôi học được ở đây: Trước tiên hãy kiểm tra những thứ đơn giản hơn, trước khi nhổ tóc không biết phần mềm đã cài đặt, tất cả những thứ đó đã được đưa lên như trước khi lỗi xuất hiện ngay từ đầu!

HTC - 1, Nhà cung cấp cáp liên kết của Dairies - 0.


-1

Nó nên như thế này:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c03", MODE="0666"

Điều này không cung cấp một câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ một tác giả, hãy để lại nhận xét bên dưới bài đăng của họ - bạn luôn có thể nhận xét về bài đăng của riêng bạn và khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét về bất kỳ bài đăng nào .
Fabby

@Fabby Đây có vẻ là một nỗ lực để trả lời câu hỏi cho tôi ..
Seth
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.