| BG Development · За реклама · За контакти |
Помощ Търсене Потребители Календар Правила |
| Здравей! ( Включване | Регистриране ) |
| Страници: (3) 1 [2] 3 ( Първото ново мнение ) | ![]() ![]() ![]() |
| thrawn |
Публикувано на: 29-10-2025, 16:59
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3864 Регистриран на: 17.01.17 |
Да, ще помогне (ако проблемът е в библиотеката).
Ако това което имаш работи коректно и има натив библиотеката я погледни с ldd дали ползва libudev, както твърди бота че трябва да е. |
| relax4o |
Публикувано на: 29-10-2025, 20:20
|
||||||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 2849 Регистриран на: 04.04.07 |
Изглежда .NET-аджиите никога не са ползвали libudev. Всичко е четене на файлове и директории. Ето това е, което прави https://github.com/dotnet/runtime/blob/v9.0...Unix.cs#L32-L91 Като цяло този метод не е мърдал въобще. Аз също нямам натив библиотеката, даже се учудвам, че на някоя от системите, които си тествал я има. Иначе с помощта на чатгпт ми сътвори това, което използва libudev API-а. Нямам никакъв опит с такъв тип програмиране на C#, така че адекватно мнение не мога да дам, но изглежда да работи. Само го накарах да филтрира само сериал портове.
Очевидно API-а може да се разшири и да използва мониторинг за плъг/ънплъг, но предполагам от тук натам, ако решиш този вариант гугъл и чатгпт биха ти помогнали повече от мен. Ако този метод и на теб не ти допада, то тогава NetCoreSerial изглежда ще е това, което да ти свърши работа. Надявам се да съм помогнал. -------------------- Бисери :D
|
||||||
| thrawn |
Публикувано на: 30-10-2025, 06:46
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3864 Регистриран на: 17.01.17 |
Гитхъбът ще свърши перфектна работа. Ще го ползвам за да видя точно какво не му харесва в системата и ще го коригирам с udev.
10x |
| dvader |
Публикувано на: 30-10-2025, 08:11
|
![]() Име: Валерий Тодоров Група: VIP Ранг: Почетен член Мнения: 5419 Регистриран на: 12.07.05 |
Абе тоя .нет не е ли опен сорс?
Какво пречи да се види какво що и как прави? А и да не е опен-сорс за .нет има декомпилатори, включително май в самия .нет. -------------------- I find your lack of faith disturbing
|
| relax4o |
Публикувано на: 30-10-2025, 10:13
|
||||||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 2849 Регистриран на: 04.04.07 |
-------------------- Бисери :D
|
||||||
| ici |
Публикувано на: 30-10-2025, 12:15
|
||
![]() Име: Ивайло Илчев Група: VIP Ранг: Почетен член Мнения: 19077 Регистриран на: 06.06.04 |
Виж и на Питон как става: https://github.com/pyserial/pyserial/blob/m..._ports_linux.py ПП. Казах на Gemini да ми направи cpp код за това от питонският файл, и го компилирах в WSL/Debian, след което закачих на Дебиана една платка с УСБ ЦДЦ със https://learn.microsoft.com/en-us/windows/wsl/connect-usb. С УСБ-тата няма проблем, но вади списък с ttyS0-7 който няма нищо общо с истината.
Това мнение е било редактирано от ici на 30-10-2025, 12:52 Прикачен файл ( Брой сваляния: 37 )
getports_linux.cpp-------------------- 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. |
||
| thrawn |
Публикувано на: 30-10-2025, 16:39
|
||||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3864 Регистриран на: 17.01.17 |
Проблемът е в атрибутите на устройството които драйверът му задава
За isTtyS се търси id или of_node които липсват. Ако мина в not isTtyS или isTtyGS проверките ще минат (но и двете са на база име в /sys но там пипа само ядрото). Друг вариант за да мине проверката е да се провали проверката за това дали sysTtyDir е налична. Трети вариант е репорт на бъг или да си билдна сам платформата... Давайте идеи. Това мнение е било редактирано от thrawn на 30-10-2025, 16:43 |
||||
| relax4o |
Публикувано на: 30-10-2025, 18:09
|
||||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 2849 Регистриран на: 04.04.07 |
Дори и да репортнеш бъг ще паднат едни обяснения с тях, ще искат код, някакъв начин да се репликейтне, от там да решат заслужава ли си фикс и какъв да е той и накрая ще стане едно нищо. Не ти пречи да го направиш паралелно с друго решение, което вземеш, но иначе ще си чакаш.
Ако ти се занимава, можеш да пробваш тази библиотека, която имплементира libudev https://www.nuget.org/packages/Dandy.Linux.Udev/1.0.0-b2. Стара е и неподдържана, но ме съмнява нещо да се е променило значително, за да не работи. Какъв е проблема да модифицираш метода за твоите нужди? -------------------- Бисери :D
|
||||
| thrawn |
Публикувано на: 30-10-2025, 18:32
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3864 Регистриран на: 17.01.17 |
Казусът е, че имам приложение на трета страна което трябва да тръгне. За да видя какво не му е на ред, правя отделно приложение само за тестове. Затова търся решение или на база платформа или на база ОС. Вариант с редакция на самото приложение няма.
Това мнение е било редактирано от thrawn на 30-10-2025, 18:34 |
| relax4o |
Публикувано на: 31-10-2025, 11:34
|
||||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 2849 Регистриран на: 04.04.07 |
Ако си сигурен, че лежи на System.IO.Ports, то можеш да пробваш да модифицираш dll на това асембли и презапишеш модифицирана версия на метода. Можеш да пробваш с https://github.com/dnSpyEx/dnSpy, но нещата стават леко hacky.
-------------------- Бисери :D
|
||||
Страници: (3) 1 [2] 3 |
![]() ![]() ![]() |