BG Development


Страници: (5) 1 [2] 3 4 ... последна »  ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Стари компютри на HP, Продажба
thrawn
Публикувано на: 15-06-2026, 08:50
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3864
Регистриран на: 17.01.17



Ключовия момент е в ако-то. Има доста хардуер без сериен номер, така, че се разчита само на девайс и вендор ид-тата. Да, ако се постараеш да купиш качествен(марков) адаптер, в него ще си има и сериен номер но хората предпочитат сигурността (никой не обича да намества разместени портове посред нощ).

Иначе, когато ползвам такива адаптери под linux винаги задавам udev линкове, защото там номерирането е по ред и няма как да го промениш.

Това мнение е било редактирано от thrawn на 15-06-2026, 08:53
PMEmail Poster
Top
ici
Публикувано на: 15-06-2026, 09:03
Quote Post


Group Icon
Име: Ивайло Илчев
Група: VIP
Ранг: Почетен член

Мнения: 19077
Регистриран на: 06.06.04



За FTDI с FT_PROG (ftdi-eeprom за Linux) можеш да смениш дескриптите и серийният номер. Това е интерфейсна платка с която работя сега (STM32F446) - USB към 2xSPI, 2xI2C, UART 3.3V, там мога да правя всичко и която и платка да пъхна винаги е същият ком порт.

Това мнение е било редактирано от ici на 15-06-2026, 09:04

Прикачена картинка (Кликнете на картинката, за да я увеличите!)
Прикачена картинка


--------------------
Facebook is a bit like checking your underwear after a fart.
Most likely there's nothing new and if there is it's probably shit.
PMEmail PosterUsers Website
Top
thrawn
Публикувано на: 15-06-2026, 09:33
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3864
Регистриран на: 17.01.17



Под linux портовете се номерират по ред на разпознаване на устройствата. Независмо с какви идентификатори си, като боднеш платката тя ще излезе като ttyUSB/ACM0, следващата ще е 1 и т.н.
За да фиксираш портовете се използва udev правила за създаване на символни връзки с фиксирано име към обектът които е създал драйвера за това устройство (като там вече можеш да филтрираш по сериен номер и т.н.)
PMEmail Poster
Top
SuN
Публикувано на: 15-06-2026, 09:59
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 13463
Регистриран на: 27.01.05



QUOTE
Също така ако им се сложи примерно Intel Core i7-3770 или Intel Core i5-3470 / i5-3570 ще станат значително по-бързи

Ще станат по-бързи, ако проблема им е бил в бавния процесор. А дотук чета, че хем са с въртящи се дискове, хем с ДДР3, хем със стари процесори.

Само като погледна как продават от този период РАМ плочки на килограм и си представям какво е търсенето.

Аз лично ще пусна лаптопска ДДР5 32ГБ за продажба другата седмица и ще подбия малко цените icon_smile.gif


--------------------
Само аз не троля.
Всички коментари са плод на художествена измислица и нямат общо с действителни и недействителни лица, събития и факти.
PMEmail Poster
Top
fujimaina
Публикувано на: 16-06-2026, 23:54
Quote Post



Име: филип
Група: Потребител
Ранг: Посетител

Мнения: 60
Регистриран на: 25.05.25



Смених им батериите и вече зареждат по добре. За 10 години батериите им направо са си заминали.

Аз мисля че тези машини ще са приятни за любителите на стара техника.
Не мога да ги държа в нас все.
PMEmail Poster
Top
Дон Реба
Публикувано на: 17-06-2026, 07:38
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 10496
Регистриран на: 11.11.06



QUOTE (ici @ 15-06-2026, 08:42)
Ако използваш Hi-Speed USB (Аз използвам STM32F777), latency е 125us

ако 1 милисекунда е проблем, доста вероятно и 125 микро ще са проблем.
аз обаче малко се съмнявам че тая латенция е свързана със скоростта, тя е системна и е вкарана нарочно, иначе скоростта за големи данни ще ти падне драстично ако всеки байт го предаваш .в отделен пакет. латенцията е просто изчакване за да се види дали след тоя байт няма веднага да дойдат още, за да се пакетират заедно.

колкото до номера на порта - не ме тревожи, за клиентски устройства сканирам за да намеря устройството, за лабораторни го зачуквам в някакъв конфиг , системата познава платките и всеки път дава същия ком

Това мнение е било редактирано от Дон Реба на 17-06-2026, 07:38
PM
Top
ici
Публикувано на: 17-06-2026, 10:01
Quote Post


Group Icon
Име: Ивайло Илчев
Група: VIP
Ранг: Почетен член

Мнения: 19077
Регистриран на: 06.06.04



Принципно го споменах. На CI се пускат тестове по 100 на ден, като първоначално комуникацията е през UART който минава през ST-LINK MINI3V на 4МБит/сек, точат се файлове в двете посоки по 2/4/16 МБайта без никакви грешки. В самият фърмуер няма DMA там, UART-a е на прекъсвания.
VCP е Виртуален Ком Порт

ПП. За аутодетект УСБ-то е перфектно като се използва VID/PID

Това мнение е било редактирано от ici на 17-06-2026, 10:03

Прикачена картинка (Кликнете на картинката, за да я увеличите!)
Прикачена картинка


--------------------
Facebook is a bit like checking your underwear after a fart.
Most likely there's nothing new and if there is it's probably shit.
PMEmail PosterUsers Website
Top
thrawn
Публикувано на: 17-06-2026, 10:07
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3864
Регистриран на: 17.01.17



vendor и product id-тата не са уникални. Точно тук е мотиката. А евтините устройства нямат уникален сериен номер.
PMEmail Poster
Top
ici
Публикувано на: 17-06-2026, 10:53
Quote Post


Group Icon
Име: Ивайло Илчев
Група: VIP
Ранг: Почетен член

Мнения: 19077
Регистриран на: 06.06.04



Айде бе? А какви са? Това че нямат сериен номер е чудесно, това означава че всяко устройство със същият ПИД/ВИД винаги ще получава един и същ сериен номер. Тези пък базирани на ФТДИ на които пише "еерром"/"флаш" могат да се програмират със ВИД/ПИД/Сериен номер, но те са около €40. За тези дето сам си правиш можеш да правиш всичко. Няма случаен ВИД както и случаен MAC.


--------------------
Facebook is a bit like checking your underwear after a fart.
Most likely there's nothing new and if there is it's probably shit.
PMEmail PosterUsers Website
Top
thrawn
Публикувано на: 17-06-2026, 11:23
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3864
Регистриран на: 17.01.17



Кое е чудесно? Имам на бюрото два pinpad-а с ftdi - idVendor = 0403, idProduct = 6001, без сериен номер. Невъзможно е да се определи кой от тях на кой порт излиза. Имам и mdb контролер пак с ftdi и пак с оригиналната идентификация на чипа (добре, че китайците слагат серийни номера).

DEVICE и VENDOR ID -тата се използват за идентифициране на производител и модел на устройство - от всички еднакви модели на един производител са с един и същи идентификатори (да не говорим, че масово се запазват идентификаторите на използваните чипове или се правят някакви тъпотии като това Bus 001 Device 095: ID fff0:0100 Datecs Datecs Serial)

Та ако разчиташ само на тези идентификатори никога няма да се оправиш с имената на портовете. Затова се използват серийните номера (или друга характеристика на устройството) по която да можеш да го идентифицираш уникално за да му зададеш постоянно име

Това е машината с която работя в момента
CODE
 looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/tty/ttyACM0':
   KERNEL=="ttyACM0"
   SUBSYSTEM=="tty"
   DRIVER==""
   ATTR{power/async}=="disabled"
   ATTR{power/control}=="auto"
   ATTR{power/runtime_active_kids}=="0"
   ATTR{power/runtime_active_time}=="0"
   ATTR{power/runtime_enabled}=="disabled"
   ATTR{power/runtime_status}=="unsupported"
   ATTR{power/runtime_suspended_time}=="0"
   ATTR{power/runtime_usage}=="0"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0':
   KERNELS=="1-4:1.0"
   SUBSYSTEMS=="usb"
   DRIVERS=="cdc_acm"
   ATTRS{authorized}=="1"
   ATTRS{bAlternateSetting}==" 0"
   ATTRS{bInterfaceClass}=="02"
   ATTRS{bInterfaceNumber}=="00"
   ATTRS{bInterfaceProtocol}=="00"
   ATTRS{bInterfaceSubClass}=="02"
   ATTRS{bNumEndpoints}=="01"
   ATTRS{bmCapabilities}=="0"
   ATTRS{iad_bFirstInterface}=="00"
   ATTRS{iad_bFunctionClass}=="02"
   ATTRS{iad_bFunctionProtocol}=="01"
   ATTRS{iad_bFunctionSubClass}=="02"
   ATTRS{iad_bInterfaceCount}=="02"
   ATTRS{interface}=="USB_CDC0_0"
   ATTRS{physical_location/dock}=="no"
   ATTRS{physical_location/horizontal_position}=="left"
   ATTRS{physical_location/lid}=="no"
   ATTRS{physical_location/panel}=="top"
   ATTRS{physical_location/vertical_position}=="upper"
   ATTRS{power/async}=="enabled"
   ATTRS{power/runtime_active_kids}=="0"
   ATTRS{power/runtime_enabled}=="enabled"
   ATTRS{power/runtime_status}=="suspended"
   ATTRS{power/runtime_usage}=="0"
   ATTRS{supports_autosuspend}=="1"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-4':
   KERNELS=="1-4"
   SUBSYSTEMS=="usb"
   DRIVERS=="usb"
   ATTRS{authorized}=="1"
   ATTRS{avoid_reset_quirk}=="0"
   ATTRS{bConfigurationValue}=="1"
   ATTRS{bDeviceClass}=="ef"
   ATTRS{bDeviceProtocol}=="01"
   ATTRS{bDeviceSubClass}=="02"
   ATTRS{bMaxPacketSize0}=="8"
   ATTRS{bMaxPower}=="500mA"
   ATTRS{bNumConfigurations}=="1"
   ATTRS{bNumInterfaces}==" 2"
   ATTRS{bcdDevice}=="0100"
   ATTRS{bmAttributes}=="c0"
   ATTRS{busnum}=="1"
   ATTRS{configuration}==""
   ATTRS{devnum}=="95"
   ATTRS{devpath}=="4"
   ATTRS{idProduct}=="0100"
   ATTRS{idVendor}=="fff0"
   ATTRS{ltm_capable}=="no"
   ATTRS{manufacturer}=="Datecs"
   ATTRS{maxchild}=="0"
   ATTRS{physical_location/dock}=="no"
   ATTRS{physical_location/horizontal_position}=="left"
   ATTRS{physical_location/lid}=="no"
   ATTRS{physical_location/panel}=="top"
   ATTRS{physical_location/vertical_position}=="upper"
   ATTRS{power/active_duration}=="793518"
   ATTRS{power/async}=="enabled"
   ATTRS{power/autosuspend}=="2"
   ATTRS{power/autosuspend_delay_ms}=="2000"
   ATTRS{power/connected_duration}=="793518"
   ATTRS{power/control}=="on"
   ATTRS{power/level}=="on"
   ATTRS{power/persist}=="1"
   ATTRS{power/runtime_active_kids}=="0"
   ATTRS{power/runtime_active_time}=="793277"
   ATTRS{power/runtime_enabled}=="forbidden"
   ATTRS{power/runtime_status}=="active"
   ATTRS{power/runtime_suspended_time}=="0"
   ATTRS{power/runtime_usage}=="1"
   ATTRS{product}=="Datecs Serial"
   ATTRS{quirks}=="0x0"
   ATTRS{removable}=="removable"
   ATTRS{remove}=="(not readable)"
   ATTRS{rx_lanes}=="1"
   ATTRS{speed}=="12"
   ATTRS{tx_lanes}=="1"
   ATTRS{urbnum}=="48"
   ATTRS{version}==" 2.00"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
   KERNELS=="usb1"
   SUBSYSTEMS=="usb"
   DRIVERS=="usb"
   ATTRS{authorized}=="1"
   ATTRS{authorized_default}=="1"
   ATTRS{avoid_reset_quirk}=="0"
   ATTRS{bConfigurationValue}=="1"
   ATTRS{bDeviceClass}=="09"
   ATTRS{bDeviceProtocol}=="01"
   ATTRS{bDeviceSubClass}=="00"
   ATTRS{bMaxPacketSize0}=="64"
   ATTRS{bMaxPower}=="0mA"
   ATTRS{bNumConfigurations}=="1"
   ATTRS{bNumInterfaces}==" 1"
   ATTRS{bcdDevice}=="0608"
   ATTRS{bmAttributes}=="e0"
   ATTRS{busnum}=="1"
   ATTRS{configuration}==""
   ATTRS{devnum}=="1"
   ATTRS{devpath}=="0"
   ATTRS{idProduct}=="0002"
   ATTRS{idVendor}=="1d6b"
   ATTRS{interface_authorized_default}=="1"
   ATTRS{ltm_capable}=="no"
   ATTRS{manufacturer}=="Linux 6.8.0-111-generic xhci-hcd"
   ATTRS{maxchild}=="16"
   ATTRS{power/active_duration}=="2495239656"
   ATTRS{power/async}=="enabled"
   ATTRS{power/autosuspend}=="0"
   ATTRS{power/autosuspend_delay_ms}=="0"
   ATTRS{power/connected_duration}=="2495239656"
   ATTRS{power/control}=="auto"
   ATTRS{power/level}=="auto"
   ATTRS{power/runtime_active_kids}=="4"
   ATTRS{power/runtime_active_time}=="2495239648"
   ATTRS{power/runtime_enabled}=="enabled"
   ATTRS{power/runtime_status}=="active"
   ATTRS{power/runtime_suspended_time}=="0"
   ATTRS{power/runtime_usage}=="0"
   ATTRS{power/wakeup}=="disabled"
   ATTRS{power/wakeup_abort_count}==""
   ATTRS{power/wakeup_active}==""
   ATTRS{power/wakeup_active_count}==""
   ATTRS{power/wakeup_count}==""
   ATTRS{power/wakeup_expire_count}==""
   ATTRS{power/wakeup_last_time_ms}==""
   ATTRS{power/wakeup_max_time_ms}==""
   ATTRS{power/wakeup_total_time_ms}==""
   ATTRS{product}=="xHCI Host Controller"
   ATTRS{quirks}=="0x0"
   ATTRS{removable}=="unknown"
   ATTRS{remove}=="(not readable)"
   ATTRS{rx_lanes}=="1"
   ATTRS{serial}=="0000:00:14.0"
   ATTRS{speed}=="480"
   ATTRS{tx_lanes}=="1"
   ATTRS{urbnum}=="2753"
   ATTRS{version}==" 2.00"

 looking at parent device '/devices/pci0000:00/0000:00:14.0':
   KERNELS=="0000:00:14.0"
   SUBSYSTEMS=="pci"
   DRIVERS=="xhci_hcd"
   ATTRS{ari_enabled}=="0"
   ATTRS{broken_parity_status}=="0"
   ATTRS{class}=="0x0c0330"
   ATTRS{consistent_dma_mask_bits}=="64"
   ATTRS{d3cold_allowed}=="1"
   ATTRS{dbc}=="disabled"
   ATTRS{dbc_bInterfaceProtocol}=="01"
   ATTRS{dbc_bcdDevice}=="0010"
   ATTRS{dbc_idProduct}=="0010"
   ATTRS{dbc_idVendor}=="1d6b"
   ATTRS{dbc_poll_interval_ms}=="64"
   ATTRS{device}=="0xa2af"
   ATTRS{dma_mask_bits}=="64"
   ATTRS{driver_override}=="(null)"
   ATTRS{enable}=="1"
   ATTRS{index}=="3"
   ATTRS{irq}=="135"
   ATTRS{label}=="Onboard - Other"
   ATTRS{local_cpulist}=="0-5"
   ATTRS{local_cpus}=="3f"
   ATTRS{msi_bus}=="1"
   ATTRS{msi_irqs/135}=="msi"
   ATTRS{msi_irqs/136}=="msi"
   ATTRS{msi_irqs/137}=="msi"
   ATTRS{msi_irqs/138}=="msi"
   ATTRS{msi_irqs/139}=="msi"
   ATTRS{msi_irqs/140}=="msi"
   ATTRS{msi_irqs/141}=="msi"
   ATTRS{numa_node}=="-1"
   ATTRS{power/async}=="enabled"
   ATTRS{power/control}=="on"
   ATTRS{power/runtime_active_kids}=="1"
   ATTRS{power/runtime_active_time}=="2495242236"
   ATTRS{power/runtime_enabled}=="forbidden"
   ATTRS{power/runtime_status}=="active"
   ATTRS{power/runtime_suspended_time}=="0"
   ATTRS{power/runtime_usage}=="3"
   ATTRS{power/wakeup}=="enabled"
   ATTRS{power/wakeup_abort_count}=="0"
   ATTRS{power/wakeup_active}=="0"
   ATTRS{power/wakeup_active_count}=="0"
   ATTRS{power/wakeup_count}=="0"
   ATTRS{power/wakeup_expire_count}=="0"
   ATTRS{power/wakeup_last_time_ms}=="0"
   ATTRS{power/wakeup_max_time_ms}=="0"
   ATTRS{power/wakeup_total_time_ms}=="0"
   ATTRS{power_state}=="D0"
   ATTRS{remove}=="(not readable)"
   ATTRS{rescan}=="(not readable)"
   ATTRS{revision}=="0x00"
   ATTRS{subsystem_device}=="0x5007"
   ATTRS{subsystem_vendor}=="0x1458"
   ATTRS{vendor}=="0x8086"

 looking at parent device '/devices/pci0000:00':
   KERNELS=="pci0000:00"
   SUBSYSTEMS==""
   DRIVERS==""
   ATTRS{power/async}=="enabled"
   ATTRS{power/control}=="auto"
   ATTRS{power/runtime_active_kids}=="9"
   ATTRS{power/runtime_active_time}=="0"
   ATTRS{power/runtime_enabled}=="disabled"
   ATTRS{power/runtime_status}=="unsupported"
   ATTRS{power/runtime_suspended_time}=="0"
   ATTRS{power/runtime_usage}=="0"
   ATTRS{waiting_for_supplier}=="0"


Тази специфика прави работата с всички подобни устройства много неприята и за това, както вече казах, се предпочита чист rs

---
CODE
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}!="AQ03FLEX", SYMLINK+="pinpad"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AQ03FLEX", SYMLINK+="mdb"
SUBSYSTEM=="tty", ATTRS{idVendor}=="05f9", ATTRS{idProduct}=="4204", SYMLINK+="scanner"


Ето как се решава проблемът с фиксирането на имената под linux. В краен случай може да се прибегне и до филтриране по usb портове...

Това мнение е било редактирано от DarkOne на 26-06-2026, 14:49
PMEmail Poster
Top
0 потребители преглеждат тази тема в момента (0 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (5) 1 [2] 3 4 ... последна » Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0