Как смоделировать USB-штекер?

У меня есть приложение, в котором реализована некоторая автоматизация при подключении USB-ключа.

Во время разработки я должен протестировать его в определенной среде (производной от Debian Squeeze).
Приложение подписывается на события HAL через DBUS.
Проблема в том, что мой стол находится на третьем этаже, а мои тестовые машины - в подвале.

Мне бы очень хотелось иметь возможность имитировать USB-штекер.

  • usbip не работает в Ubuntu.
  • Мне не удается использовать модуль g_mass_storage в Ubuntu (мне не хватает модуля dummy_hcd) и в Debian .

Может быть, есть возможность симулировать вызов dbus?

Моя рабочая станция работает на Ubuntu 12.04.

2
задан 7 December 2012 в 01:43

1 ответ

1111 Я нашел другое решение, которое меня устраивало. На самом деле я понял, что на самом деле мне не нужно имитировать USB-накопитель, а скорее запоминающее устройство любого типа (мое приложение отслеживает HAL или UDisks для событий «DeviceAdded»).

Итак, я сделал следующее:

  • создал образ файловой системы, например, с помощью команды virt-make-fs
    sudo virt-make-fs --type=ntfs -- fs.tar.gz fs-test.img

  • загрузить файл img на тестовом компьютере

  • настроить изображение в качестве устройства петли: sudo losetup /dev/loop0 fs-test.img

И это все, UDisks только что вызвал событие DBus "DeviceAdded"!
(однако HAL ничего не вызывает в этом случае, так что это хорошая возможность отбросить его, так как он устарел)

Если вы хотите , вы можете вручную смонтировать образ с помощью чего-то вроде sudo mount /dev/loop0 /mnt/fs.

Если вам нужно использовать pmount, не забудьте добавить /dev/loop0 в /etc/pmount.allow.

Чтобы сбросить петлевое устройство, просто используйте sudo losetup -d /dev/loop0.

0
ответ дан 7 December 2012 в 01:43

Другие вопросы по тегам:

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