Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Linux (Ubuntu, Debian, Red Hat, CentOS, Mint)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2017, 00:46   #1
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 261
По умолчанию Найти USB-программатор в /dev

Сижу под Arch Linux. Хочу прошить девайс STM32 при помощи USB-программатора и тулзы stm32flash. Здесь есть пример использования этой софтины:

Код:
sudo stm32flash /dev/ttyUSB0
для получения информации о чипе.

Не получается сделать даже это, потому что я не могу определить, какой файл в /dev соответствует подключенному программатору.

Команда lsusb показывает мой программатор:

Код:
Bus 001 Device 010: ID 0483:3748 STMicroelectronics ST-LINK/V2
Я пытался определить файл подключенного устройства в /dev при помощи сравнения списков устройств до подключения программатора и после подключения, но оба списка оказались одинаковыми.

dmesg | grep ttyUSB* не показывает ничего.

Как найти файл, связанный с программатором, подключенным к USB-порту, для чтения и записи из этого файла?

Последний раз редактировалось Aoizora; 13.07.2017 в 00:53.
Aoizora вне форума Ответить с цитированием
Старый 13.07.2017, 10:15   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Существует конечно 1001 способ, но мне понравился вот такой.

Код:

_get_usb_devices () { 
    UDEVADM="/sbin/udevadm";
    for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev);
    do
        ( syspath="${sysdevpath%/dev}";
        devname="$($UDEVADM info -q name -p $syspath)";
        [[ "$devname" == "bus/"* ]] && continue;
        eval "$($UDEVADM info -q property --export -p $syspath)";
        [[ -z "$ID_SERIAL" ]] && continue;
        echo "/dev/$devname - $ID_SERIAL" );
    done
}
Вот так показывает одну флешку
Код:
/dev/sdc - SanDisk_Cruzer_3513900C4202A57E-0:0
/dev/sdc1 - SanDisk_Cruzer_3513900C4202A57E-0:0
/dev/sdc2 - SanDisk_Cruzer_3513900C4202A57E-0:0
/dev/sdc3 - SanDisk_Cruzer_3513900C4202A57E-0:0
Вот так показывает USB TO TTL (D-SUN)
Код:
/dev/ttyUSB0 - Prolific_Technology_Inc._USB-Serial_Controller
А вот что интерестно, вот как показывается Arduino DUE 32bit
Код:
/dev/ttyACM0 - 03eb_6124
А вот так телефон Samsung-S3
Код:
/dev/ttyACM0 - SAMSUNG_SAMSUNG_Android_3204995868e01153
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 13.07.2017, 12:16   #3
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 261
По умолчанию

Цитата:
Сообщение от pompiduskus Посмотреть сообщение
Существует конечно 1001 способ, но мне понравился вот такой.


[/code]
Спасибо, сегодня попоробую использовать этот скрипт. А где можно почитать об остальных способах определения файла устройства для чтения и записи в него?
Aoizora вне форума Ответить с цитированием
Старый 13.07.2017, 12:55   #4
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Искать нужно в нете. Сейчас инфы, пруд пруди.

Обрати внимание на то что не все аппараты начинаются с *USB*
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 13.07.2017, 21:06   #5
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 261
По умолчанию

Почему-то этот скрипт не находит подключенный программатор. При подключении и отключении программатора списки устройств не отличаются друг от друга.

Код:
/dev/input/js0 - A4TECH_USB_Device
/dev/input/event5 - A4TECH_USB_Device
/dev/input/event6 - A4TECH_USB_Device
/dev/input/mouse0 - A4TECH_USB_Device
/dev/input/event13 - SuYin_HP_Truevision_HD_HF1017-P83A-OV01-2-REV0102
/dev/video0 - SuYin_HP_Truevision_HD_HF1017-P83A-OV01-2-REV0102
/dev/input/event7 - SYNAPTICS_Synaptics_Touch_Digitizer_V04
/dev/input/mouse1 - SYNAPTICS_Synaptics_Touch_Digitizer_V04
/dev/input/event8 - SYNAPTICS_Synaptics_Touch_Digitizer_V04
/dev/input/mouse2 - SYNAPTICS_Synaptics_Touch_Digitizer_V04
Aoizora вне форума Ответить с цитированием
Старый 13.07.2017, 22:23   #6
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

А там точно не нужно никаких танцев с modprobe?

После подключения программатора смотреть dmesg | tail
Black Fregat вне форума Ответить с цитированием
Старый 13.07.2017, 22:37   #7
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 261
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
А там точно не нужно никаких танцев с modprobe?

После подключения программатора смотреть dmesg | tail
Показало рухнувший тред в Qt-приложении и подключение программатора. Как воспользоваться этой инфой? Что можно сделать с модулями ядра тулзой modprobe?

Цитата:
[ 4948.390495] QueryHandler[5197]: segfault at 18 ip 00007fd4738c64c0 sp 00007fd453ffed08 error 4 in libQt5Sql.so.5.7.0[7fd4738b5000+46000]
[ 5802.442454] perf: interrupt took too long (3129 > 3128), lowering kernel.perf_event_max_sample_rate to 63900
[ 6036.641022] usb 1-1: new full-speed USB device number 9 using xhci_hcd
Aoizora вне форума Ответить с цитированием
Старый 14.07.2017, 05:16   #8
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Вставь аппарат в usb, подожди 2 секи и выними. Потом выполни "dmesg | tail -n 50"
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 14.07.2017, 11:03   #9
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 261
По умолчанию

Цитата:
Сообщение от pompiduskus Посмотреть сообщение
Вставь аппарат в usb, подожди 2 секи и выними. Потом выполни "dmesg | tail -n 50"
Вот вывод команды:

Цитата:
[ 9.114622] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card1/input18
[ 9.114869] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card1/input19
[ 9.114940] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card1/input20
[ 9.300408] kvm: disabled by bios
[ 9.309247] mousedev: PS/2 mouse device common for all mice
[ 9.414498] media: Linux media interface: v0.10
[ 9.612269] Linux video capture interface: v2.00
[ 9.613477] intel_rapl: Found RAPL domain package
[ 9.613480] intel_rapl: Found RAPL domain core
[ 9.613483] intel_rapl: Found RAPL domain uncore
[ 9.613485] intel_rapl: Found RAPL domain dram
[ 9.613488] intel_rapl: RAPL package 0 domain package locked by BIOS
[ 9.613492] intel_rapl: RAPL package 0 domain dram locked by BIOS
[ 9.665545] psmouse serio1: synaptics: queried max coordinates: x [..5610], y [..4700]
[ 9.703106] psmouse serio1: synaptics: queried min coordinates: x [1362..], y [1238..]
[ 9.788242] ppdev: user-space parallel port driver
[ 9.793542] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd00123/0x840300/0x12e800/0x0, board id: 2960, fw id: 1619168
[ 9.803302] uvcvideo: Found UVC 1.00 device HP Truevision HD (064e:c344)
[ 9.810554] uvcvideo 1-3:1.0: Entity type for entity Extension 4 was not initialized!
[ 9.810557] uvcvideo 1-3:1.0: Entity type for entity Extension 3 was not initialized!
[ 9.810559] uvcvideo 1-3:1.0: Entity type for entity Processing 2 was not initialized!
[ 9.810560] uvcvideo 1-3:1.0: Entity type for entity Camera 1 was not initialized!
[ 9.810619] input: HP Truevision HD as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/input/input21
[ 9.810670] usbcore: registered new interface driver uvcvideo
[ 9.810671] USB Video Class driver (1.1.1)
[ 9.823133] input: HP WMI hotkeys as /devices/virtual/input/input22
[ 9.855394] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input14
[ 9.919337] r8169 0000:04:00.0 eno1: renamed from eth0
[ 10.268786] Bluetooth: Core ver 2.21
[ 10.268803] NET: Registered protocol family 31
[ 10.268804] Bluetooth: HCI device and connection manager initialized
[ 10.268808] Bluetooth: HCI socket layer initialized
[ 10.268811] Bluetooth: L2CAP socket layer initialized
[ 10.268817] Bluetooth: SCO socket layer initialized
[ 10.315829] wl: module license 'MIXED/Proprietary' taints kernel.
[ 10.315832] Disabling lock debugging due to kernel taint
[ 10.348477] wlan0: Broadcom BCM4365 802.11 Hybrid Wireless Controller 6.30.223.271 (r587334)
[ 10.370296] wl 0000:03:00.0 wlo1: renamed from wlan0
[ 10.828689] Adding 3906556k swap on /dev/sda8. Priority:-1 extents:1 across:3906556k FS
[ 10.971731] usbcore: registered new interface driver btusb
[ 11.234918] FAT-fs (sda2): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 12.019448] EXT4-fs (sda9): mounted filesystem with ordered data mode. Opts: data=ordered
[ 12.980208] Bluetooth: hci0 command 0x1001 tx timeout
[ 13.475661] r8169 0000:04:00.0 eno1: link down
[ 13.475715] IPv6: ADDRCONF(NETDEV_UP): eno1: link is not ready
[ 20.976516] Bluetooth: hci0: BCM: Reading local version info failed (-110)
[ 23.760978] fuse init (API version 7.24)
[ 217.264958] usb 1-6: new full-speed USB device number 7 using xhci_hcd
[ 374.828888] usb 1-6: USB disconnect, device number 7
[ 393.930974] usb 1-1: new full-speed USB device number 8 using xhci_hcd
Aoizora вне форума Ответить с цитированием
Старый 14.07.2017, 16:54   #10
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Вроде нет ошибок. но может на самом деле нет дров.

Так как ни вендора нет, и вообще ничего

Цитата:
[317168.654000] usb 2-1.5: new full-speed USB device number 7 using ehci_hcd
[317168.749502] usb 2-1.5: New USB device found, idVendor=046d, idProduct=c52b
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программатор MSP-FET 430 UIF Al_oper Микроконтроллеры, робототехника, схемотехника, 3D принтеры 0 17.08.2016 12:10
USB программатор для avr CeHTuJI Микроконтроллеры, робототехника, схемотехника, 3D принтеры 14 13.03.2016 21:40
дан массив А размера N. Найти минимальный элемент из элементов с четными номерами (Dev C++) Dushka00 Помощь студентам 11 25.02.2014 21:14
нужен программатор типа MKII llans Софт 0 28.04.2010 19:30