Поддельный порядковый номер USB-устройства

Раздел подкачки может быть предпочтен, потому что он избегает зависимости от файловой системы, когда все, в чем Вы нуждаетесь, является адресуемым пулом памяти.

Но ничто не препятствует тому, чтобы Вы использовали файл подкачки вместо раздела подкачки, или в дополнение к разделу подкачки.

  • Создайте файл:

    dd if=/dev/zero of=/extraswap bs=1M count=512
    
  • Инициализируйте содержание файла:

    mkswap /extraswap
    
  • Используйте его:

    swapon /extraswap
    
  • Посмотрите, работало ли это:

    free -m
    

Чтобы начать использовать своп-файл всегда при начальной загрузке, отредактируйте/etc/fstab и добавьте

/extraswap           swap          swap    defaults    0 0

[1] http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/s1-swap-adding.html

9
02.01.2013, 17:36
3 ответа

Во-первых, удостоверьтесь, что устройство, не сообщая о порядковом номере является действительно проблемой. adb devices перечислит порядковый номер как все вопросительные знаки, если он не будет иметь разрешения получить доступ к соответствующему устройству под /dev/bus/usb/. Также помните, что adb запускает сервер, Вы, возможно, должны уничтожить это, чтобы заставить его повторно зондировать.

Принятие его действительно является проблемой с устройством, я быстро проверил adb исходный код. Это появляется register_device в core/adb/usb_linux.c читает порядковый номер прямо из устройства. core/adb/usb_libusb.c вызовы libusb_get_device_descriptor сделать это, который (проверка libusb исходного кода) захватывает его от sysfs или непосредственно от устройства. Таким образом, никакой udev обман не собирается помочь, к сожалению.

Ваш выбор, казалось бы, был бы:

  • фигура, как заставить adb работать без порядкового номера. Возможно, патч adb (это - открытый исходный код). Это - вопрос больше для Переполнения стека, я думаю.
  • исправьте к ядру usbfs драйвер для фальсифицирования ответа на запрос adb. Это звучит намного более твердым, чем исправление adb мне.
  • исправьте ядро, чтобы позволить фальсифицировать последовательный # в syfs, принятие adb использует libusb.
  • почините поврежденные аппаратные средства.
1
27.01.2020, 20:08
  • 1
    Спасибо - это объясняет это. В моем случае, чинящем поврежденные аппаратные средства, было более легкое (покупка лучших аппаратных средств). –  Ralf 02.01.2013, 21:27

Вероятно, это не последовательно, но FTDI, таким образом, можно попробовать этот путь:

1) Получите сериал

sudo udevadm info --attribute-walk -n /dev/ttyUSB0  | sed -n '/FTDI/,/serial/p'

2) Создайте правило и замените XXXXXXXX с сериалом, который Вы нашли или ПОДДЕЛЬНЫЙ сериал

sudo echo 'SUBSYSTEM=="tty", ATTRS{serial}=="XXXXXXXX", GROUP="users", MODE="0660", SYMLINK+="myusbphone"' | sudo tee /etc/udev/rules.d/99-myusbphone.rules

3) Перезагрузите правила

sudo udevadm control --reload-rules

.

В случае пытаются связаться с автором этой статьи.

0
27.01.2020, 20:08
  • 1
    , я не думаю, что OP говорит о последовательном протоколе, но порядковом номере USB-устройства. Это - немного используемого поля в дескрипторе устройства вместе с поставщиком и идентификаторами продукта. Это, как предполагается, уникально для каждого устройства, но не обязательно в спецификации USB. Никакой ответ для того, как фальсифицировать его, извините. Я, вероятно, исправил бы ядро... –  ali1234 26.04.2011, 01:33

Если Вы знаете узел устройства определенного устройства (например,/dev/sdb), можно искать его со следующей командой: udevadm info -a -p $(udevadm info -q path -n /dev/sdb)

Обычно, при попытке создать пользовательское правило в/etc/udev/rules.d/51-android.rules для устройств на базе Android, пишущий lsusb в Вашем терминале отобразит что-то как Bus 002 Device 004: ID 062a:3270 Creative Labs . Эти четыре символа после "идентификатора" - в этом случае это было бы 062a- используются для указания на определенное idVendor в том файле.

1
27.01.2020, 20:08
  • 1
    Это помогает с записью udev правилам, но является там каким-либо способом записать правило, которое изменяет порядковый номер? –  Ralf 02.01.2013, 17:38
  • 2
    Не знайте для своего конкретного телефона, но по моему опыту после того как правила udev устанавливаются (и Вы работаете adb start-server как корень или использующий sudo), adb сможет считать порядковый номер самостоятельно. –  Drake Clarris 02.01.2013, 21:27

Теги

Похожие вопросы