LINUX.ORG.RU
решено ФорумTalks

Почему одних только «драйверов в ядре» недостаточно

 ,


0

1

Встал вопрос о покупке USB-WIFI свистка. Стандартная антенна RPI периодически теряет сигнал, находится далеко от роутера. Суть не в этом.

Купил свисток. Не такой как в прошлый раз (MT7601), а «USB adapter driver free».

Еще и умный такой, заранее посмотрел, чипсет RTL8188 поддерживается ведром, а стало быть будет работать.

Но нет. Оказывается этого мало. Устройство по умолчанию определяется как CDROM, на котором лежат виндовые драйверы, после установки которых переключающие устройство в режим NIC, и не насовсем, а до ребута. Ребут с этой воткнутой штукой кстати тоже медленный.

Ладно, думаю, не буду чесать репу - понес в магазин.

Хипстор посмотрел на чек, посмотрел на отсутствие блистера, и говорит: - ну, возврат делать мы не будем 100%, неделя прошла, коробка утеряна, давайте посмотрим.

Подключил девайсину к себе на винду, установил драйвера, подключился к местной вафле, показал мне пруфцы и ответил любимой линуксоидной фразой: - УМВР.

Говорю, да, но в Linux не работает, переключалки нет.

На что бро резонно заметил, что: - функция свистка состоит в подключении к wifi, подключение как видите устанавливается, проблемы у вас на стороне. Знакомо, да?)

Ну и наконец добавил: - по гарантии я конечно принять у вас могу, но через 13 дней 23 часов 59 минут я вам позвоню, и скажу что СЦ неполадок не обнаружил, потому что как видите их нет.

- - -

Для любителей покрасноглазить.

Нет, usb_modeswitch не работает.

root@orangepione:~# usb_modeswitch -KW -v 0bda -p 1a2b
Take all parameters from the command line


 * usb_modeswitch: handle USB devices with multiple modes
 * Version 2.6.1 (C) Josua Dietze 2017
 * Based on libusb1/libusbx

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor=  0x0bda
DefaultProduct= 0x1a2b

StandardEject=1

Look for default devices ...
  found USB ID 1d6b:0001
  found USB ID 0bda:1a2b
   vendor ID matched
   product ID matched
  found USB ID 1d6b:0002
  found USB ID 1d6b:0001
  found USB ID 1d6b:0002
  found USB ID 1d6b:0002
 Found devices in default mode (1)
Access device 003 on bus 003
Get the current device configuration ...
Current configuration number is 1
Use interface number 0
 with class 8
Use endpoints 0x0b (out) and 0x8a (in)

USB description data (for identification)
-------------------------
Manufacturer: Realtek
     Product: DISK
  Serial No.: not provided
-------------------------
Sending standard EJECT sequence
Looking for active drivers ...
 OK, driver detached
Set up interface 0
Use endpoint 0x0b for message sending ...
Trying to send message 1 to endpoint 0x0b ...
 Sending the message returned error -7. Try to continue
Read the response to message 1 (CSW) ...
 Response reading failed (error -7)
 Device is gone, skip any further commands
-> Run lsusb to note any changes. Bye!

root@orangepione:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 003: ID 0bda:1a2b Realtek Semiconductor Corp. RTL8188GU 802.11n WLAN Adapter (Driver CDROM Mode)
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Нет, VID\PID взяты с lsusb, все корректно.

Нет, https://github.com/morrownr/8821cu-20210916 - это не работает, после ребута все тот же cdrom mode

И да, https://github.com/McMCCRU/rtl8188gu - это тоже не работает, /dev/cdrom нету, и других /dev/чото_похожее тоже нету. Соответственно конпеляция и наглый insmod тоже не работают.

На десктопе все то же самое - debian 12.

На винде как ни странно все работает как часики.

- - -

Пост не для поныть. Пост для тех, кто считает что поддержка железки == поддержка микросхемы железки, а обвязка то лишь вторичное.

Ну и заодно пост про то, насколько ж могут быть конченными производители :)

★★★★★

Последнее исправление: windows10 (всего исправлений: 1)

Устройство по умолчанию определяется как CDROM

это тоже не работает, /dev/cdrom нету

Ты вообще понимаешь, как оно работает то? :)

Вроде бы раньше понимал.

И да, от реалтека лучше держаться подальше, если нет опыта.

VID\PID

Но не указаны тут

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 2)
Ответ на: комментарий от Dimez

Ты вообще понимаешь, как оно работает то? :)

Если честно, то с такой херней столкнулся впервые. Раньше просто в подарок шел компакт-диск.

Но не указаны тут

Они в принципе одинаковы. Но сейчас подправлю.

windows10 ★★★★★
() автор топика

Для usb_modeswitch нужны данные, что и куда переключать, видимо, в его базе этого свистка нет.

yars068 ★★★★★
()

Как сказал @Dimez выше ‘от реалтека лучше держаться подальше, если нет опыта’.

Неужели так трудно купить интеловский AX210 и наслаждаться жизнью?

basilic ★★★
()

но в Linux не работает, переключалки нет.

Ну что вы как маленький, снифаните, чего там винда ему отправляет, делов-то.

А вообще… Я может в каком-то не том мире живу, но мне кажется это надо постараться, купить несовместимый свисток, ещё и которому нужны драйверы в винде. Сто лет такого не видел.

Dispetcher14 ★★★★★
()
Последнее исправление: Dispetcher14 (всего исправлений: 1)
Ответ на: комментарий от MoldAndLimeHoney

А они бывают usb?

Что мешает поставить PCIe?

basilic ★★★
()
Ответ на: комментарий от Dispetcher14

А вообще… Я может в каком-то не том мире живу, но мне кажется это надо постараться, купить несовместимый свисток, ещё и которому нужны драйверы в винде. Сто лет такого не видел.

Вот давай так:

find /lib/modules/6.1.0-39-amd64/kernel/drivers/net/wireless/

Все что выводится в этом списке - совместимо с Linux, да?

Потому что если нет - то на кой оно там тогда нужно?

А если да - то вот прям любой девайс на этом чипе будет совместим. VID&PID соответствуют чипу из этого списка.

Какие еще ты знаешь критерии для проверки «совместимости» свистка, не покупая его, ммм?

windows10 ★★★★★
() автор топика
Ответ на: комментарий от MoldAndLimeHoney

Кто-то сделал говнодевайс, ты его купил.

А ты где-то в топике видел вину Linux?

windows10 ★★★★★
() автор топика
Ответ на: комментарий от basilic

Неужели так трудно купить интеловский AX210 и наслаждаться жизнью?

Купить не трудно. Трудно вставить PCIE в USB-порт.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

https://www.reddit.com/r/linuxmint/comments/14h2jqo/help_installing_driver_of...

Есть разные драйверы, но лучший способ - установить ядро Linux 6.3, в котором есть встроенная поддержка Wi-Fi rtl. У меня тоже похожий адаптер, и была такая проблема. Я рекомендую ядро xanmod , потому что оно новее и содержит нужный драйвер, а также ориентировано на производительность рабочего стола.

Ololo_Trololo ★★
()
Ответ на: комментарий от Dimez

Ну сделай eject /dev/sr0 то. У McMCC так это и указано

/dev/cdrom нету, и других /dev/чото_похожее тоже нету.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от Ololo_Trololo

У меня OrangePI или накрайняк RPI, тут нельзя так просто установить что захочешь.

https://imgur.com/screenshot-UtFD1WV

И нет, драйвер в lsmod числится, но девайс так и остается в cdrom-mode.

Твари, хоть бы кнопку аппаратную предусмотрели.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от No

Это я тоже пробовал. Выдает вот это:

-------------------------
Manufacturer: Realtek
     Product: DISK
  Serial No.: not provided
-------------------------
Looking for active drivers ...
Set up interface 0
Use endpoint 0x0b for message sending ...
Trying to send message 1 to endpoint 0x0b ...
 Sending the message returned error -7. Try to continue
Read the response to message 1 (CSW) ...
 Response reading failed (error -8)
 Device is gone, skip any further commands
-> Run lsusb to note any changes. Bye!

windows10 ★★★★★
() автор топика
Ответ на: комментарий от vtVitus

Оно https://github.com/lwfinger/rtl8188eu ?

/root/rtl8188eu/core/rtw_p2p.c: In function ‘process_probe_req_p2p_ie’:
/root/rtl8188eu/core/rtw_p2p.c:781:29: internal compiler error: Illegal instruction
  781 |                             ((*(p + 2 + i) & 0xff) != 0x16))
      |                             ^
Please submit a full bug report, with preprocessed source (by using -freport-bug).
windows10 ★★★★★
() автор топика

подключение как видите устанавливается, проблемы у вас на стороне. Знакомо, да?)

Совершенно правильно ответил. Не понятно на что ты надеялся когда не просто принёс его обратно (ладно, тут можно было надеяться на доброжелательность продавца), а ещё и начал качать права.

firkax ★★★★★
()
Ответ на: комментарий от Ololo_Trololo

Тогда ставь любое из них и проверяй.

Спасибо за направление.

Автоматически не подхватилось, но ручками встало.

Благодарствую !

windows10 ★★★★★
() автор топика
Ответ на: комментарий от yars068

А если добавить в EXTRA_CFLAGS -std=gnu17?

В новом ядре уже есть, спс.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от firkax

Смени компилятор (другую версию).

Сменил ядро :) Спасибо все равно.

windows10 ★★★★★
() автор топика

насколько ж могут быть конченными производители :)

Вот с этого надо было начинать :)

cobold ★★★★★
()
Ответ на: комментарий от cobold

Вот с этого надо было начинать :)

Та да. И дело даже не в Linux.

Здесь ... вот уже три минуты «Scanning for btrfs file systems».

Подключил к десктопу. Бивис раздупляется порядка 20 сек, видимо пытается что-то там найти или как-то подключить этот «cdrom» но не осиливает.

Как такую хтоническую хрень можно было придумать еще и без аппаратного тумблера - я хз.

windows10 ★★★★★
() автор топика

На винде как ни странно все работает как часики.

работает, но будет периодически отваливаться, у меня почему-то без проблем работали только платы PCI, всё остальное приходилось периодически перетыкать, если uptime длинный

unclestephen
()

Ха. Так эти нехорошие люди еще и гвоздями прибили носитель к прошивке.

Отпаял флешку, ибо была надежда - нет, все равно USB Mass Storage device detected, т.е. даже не проверяют на наличие. Дбл, блд !

windows10 ★★★★★
() автор топика

на котором лежат виндовые драйверы

driver free

Поперхнулся железо-3-хлоридом.

James_Holden ★★★★★
()

При помощи wireshark надо захватить процесс общения виндового драйвера со свистком для переключения, потом послать такие же пакеты через libusb в линуксе, можно питоновым скриптом. Должно быть не сложно.

James_Holden ★★★★★
()
Ответ на: комментарий от James_Holden

При помощи wireshark надо захватить процесс общения виндового драйвера со свистком для переключения, потом послать такие же пакеты через libusb в линуксе, можно питоновым скриптом. Должно быть не сложно.

Здесь все через жопу сложно.

Когда только вставляешь этот стик - udev видит только флешку.

Соответственно модуль не подгружает, приходится вручную.

Но и после подгрузки модуля оно не переключается автоматом. А вот usb_modeswitch оказывается работает штатно, но только после загрузки модуля.

Правила udev писать влом, проще прописать modprobe и usb_modeswitch в автозагрузке.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

А вот usb_modeswitch оказывается работает штатно, но только после загрузки модуля.

А, ну тогда это вообще тривиально.

James_Holden ★★★★★
()
Ответ на: комментарий от vitruss

Так оно у тебя работает или нет?

Частично.

При загрузке сегфолтится. Пробую установить фирмвари.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

А если да - то вот прям любой девайс на этом чипе будет совместим. VID&PID соответствуют чипу из этого списка.

Соответствовать-то он может, но при этом может быть немного более другим. Это я про свой опыт с теме же RTL в виде обычных сетевок.

anc ★★★★★
()

Для любителей покрасноглазить.

Высылай девайс, будем снифить, что ему передаёт виндовая софтина.

Wapieth
()
Ответ на: комментарий от Wapieth

Высылай девайс, будем снифить, что ему передаёт виндовая софтина.

Не, я уже попердолился. Пришлось ручками все делать, еще и в один поток, потому что проц греется и виснет.

windows10 ★★★★★
() автор топика

- - - -

Не, выбрасываю нафиг.

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

На будущее тем кто прочитает этот топик: Не покупайте WiFi-адаптеры на чипсете Realtek RTL8188GU !

windows10 ★★★★★
() автор топика

Стандартная антенна RPI периодически теряет сигнал

Так может быть вместо всего этого пердолинга просто подключить нормальную антенну?

quwy
()
Ответ на: комментарий от basilic

У тебя mini-ITX материнская плата?

Стандартная антенна RPI

windows10 ★★★★★
() автор топика
Ответ на: комментарий от quwy

Так может быть вместо всего этого пердолинга просто подключить нормальную антенну?

Это ничего не даст, потому что мощность передатчика и чувствительность приемника ограничены чипсетом и согласованы на выходном каскаде.

В общем, пост исключительно про вафельный свисток, а не про рукожопие. Но если тебе интересно: https://ibb.co/mVT45wGw - да, может просто подключить. Но нет, не работает.

windows10 ★★★★★
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)