Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Получение списка USB носителей и доступ к ним  (Прочитано 1453 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kassyopeya

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Добрый вечер!
Пишу программу (C++), которая находит все юсб-носители в системе и путь к ним.
С помощью библиотек libusb и libudev различными способами получаю PID/VID, название, серийник и т.д. А так же номер шины и номер устройства на шине.
Но нужно получить путь к устройству вида dev/sdb.
Придумала один корявый способ, но хотелось бы нечто попроще... :)

Есть ли простые способы через номер шины получить путь к устройству?
« Последнее редактирование: 02 Декабрь 2011, 00:52:59 от kassyopeya »

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3144
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Получение списка USB носителей и доступ к ним
« Ответ #1 : 02 Декабрь 2011, 00:52:22 »
lsusb
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн kassyopeya

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Получение списка USB носителей и доступ к ним
« Ответ #2 : 02 Декабрь 2011, 00:54:16 »
lsusb

lsusb, по-моему, не находит путь к устройству.

Оффлайн oddworld

  • Активист
  • *
  • Сообщений: 404
    • Просмотр профиля
Re: Получение списка USB носителей и доступ к ним
« Ответ #3 : 02 Декабрь 2011, 00:56:47 »
номер шины вроде никак не влияет на то каким /dev/sXX будет флэшка
blkid
нет ничего совершенного, и не будет...

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3144
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Получение списка USB носителей и доступ к ним
« Ответ #4 : 02 Декабрь 2011, 00:58:21 »
>>Есть ли простые способы через номер шины получить путь к устройству?
не встречал

что за номер шины? Из проги получаем?

ls /dev/usb/
?

Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн kassyopeya

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Получение списка USB носителей и доступ к ним
« Ответ #5 : 02 Декабрь 2011, 01:12:57 »
что за номер шины? Из проги получаем?

ls /dev/usb/
?

вида /dev/bus/usv/00x/0xx
00x - номер usb шины, 0xx - номер устройства на этой шине.

думаю смотреть в сторону readlink и папки dev/disk/by-id
смотреть все файлы, у которых в названии есть usb и искать к ним ссылки...

Оффлайн oddworld

  • Активист
  • *
  • Сообщений: 404
    • Просмотр профиля
Re: Получение списка USB носителей и доступ к ним
« Ответ #6 : 02 Декабрь 2011, 01:14:08 »
ls -l /dev/disk/by-id/ | grep usb
нет ничего совершенного, и не будет...

Оффлайн kassyopeya

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Получение списка USB носителей и доступ к ним
« Ответ #7 : 02 Декабрь 2011, 01:27:15 »
ls -l /dev/disk/by-id/ | grep usb

Благодарю! :)
Завтра буду смотреть исходники.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Получение списка USB носителей и доступ к ним
« Ответ #8 : 02 Декабрь 2011, 07:23:23 »
боюсь в этих исходниках вообще не будет ни чего относящегося к usb =)
читай правила udev как он именует и размещает файлы устройств

Оффлайн kassyopeya

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Получение списка USB носителей и доступ к ним
« Ответ #9 : 04 Декабрь 2011, 23:02:50 »
http://pubs.opengroup.org/onlinepubs/007904875/functions/readlink.html

решила проблему этой функцией:)

 

Страница сгенерирована за 0.221 секунд. Запросов: 25.