Ralink RT2870 RT3070 Wireless Adapter

Автор Juriy, 06 декабря 2020, 04:55:55

« назад - далее »

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

Juriy

Приветствую All!
Попалась в руки китайская Alfa.
Debian 9 показал что это:
Bus 001 Device 003: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Естественно при подключении ничего не работало.
Synaptic по запросу Ralink выдал два пакета:
firmware-misc-nonfree
firmware-ralink

которые и были установлены, Alfa заморгала диодом и начала видеть wifi сети, но подключаться к ним не хотела.
При поиску на форуме по RT2870 RT3070 выяснилось, что есть старый баг который решается правкой NetworkManager.conf.
Дописав в конфиг:
[device]
wifi.scan-rand-mac-address=no

Адаптер подключился к инету и даже разрешил провести тест скорости выдав 5mb/s на прием. Отдачу измерить уже не смог, тк Alfa судя по сведениям соединения NetworkManager потеряла и ip и шлюз.

Прежде чем выкинуть этот недо Wireless Adapter решил попробовать запустить его в XP в Virtual Box 6.0, где оказалось эта падла вполне себя нормально чувствует: не виснет каждые 5-10 секунд и скорости на прием и отдачу показывает около 30-40mb/s.
Драйвера нашлись только здесь:https://www.mediatek.com/products/broadbandWifi/rt3070
Статьи в гугле с битыми ссылками.

Пробовал собирать и из того что предлогал mediatek, make выпал с ошибкой:
Открыть содержимое (спойлер)
user@my-pk:~/DPO_RT5572_LinuxSTA_2.6.1.3_20121022$ make
make -C tools
make[1]: вход в каталог «/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/tools»
gcc -g bin2h.c -o bin2h
make[1]: выход из каталога «/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/tools»
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/tools/bin2h
cp -f os/linux/Makefile.6 /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/Makefile
make -C /lib/modules/4.9.0-14-amd64/build SUBDIRS=/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux modules
make[1]: вход в каталог «/usr/src/linux-headers-4.9.0-14-amd64»
  CC [M]  /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.o
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.c: In function 'RtmpPrepareHwNullFrame':
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.c:3142:34: error: passing argument 2 of 'hex_dump' from incompatible pointer type [-Werror=incompatible-pointer-types]
    hex_dump("null frame before", &longValue, 4);
                                  ^
In file included from /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/include/rt_config.h:66:0,
                 from /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.c:28:
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/include/rt_os_util.h:679:6: note: expected 'unsigned char *' but argument is of type 'UINT32 * {aka unsigned int *}'
void hex_dump(char *str, unsigned char *pSrcBufVA, unsigned int SrcBufLen);
      ^~~~~~~~
In file included from /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/include/rtmp_os.h:44:0,
                 from /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/include/rtmp_comm.h:69,
                 from /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/include/rt_config.h:33,
                 from /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.c:28:
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/include/os/rt_linux.h:787:29: warning: passing argument 2 of 'RTUSBReadMACRegister' makes integer from pointer without a cast [-Wint-conversion]
  RTUSBReadMACRegister((_A), (_R), (PUINT32) (_pV))
                             ^
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.c:3150:4: note: in expansion of macro 'RTMP_IO_READ32'
    RTMP_IO_READ32(pAd, pAd->NullBufOffset + TXWISize+ i, &longValue);
    ^~~~~~~~~~~~~~
In file included from /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/include/rt_config.h:61:0,
                 from /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.c:28:
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/include/rtmp.h:7214:10: note: expected 'USHORT {aka short unsigned int}' but argument is of type 'USHORT * {aka short unsigned int *}'
NTSTATUS RTUSBReadMACRegister(
          ^~~~~~~~~~~~~~~~~~~~
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.c:3151:33: error: passing argument 2 of 'hex_dump' from incompatible pointer type [-Werror=incompatible-pointer-types]
    hex_dump("null frame after", &longValue, 4);
                                 ^
In file included from /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/include/rt_config.h:66:0,
                 from /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.c:28:
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/include/rt_os_util.h:679:6: note: expected 'unsigned char *' but argument is of type 'UINT32 * {aka unsigned int *}'
void hex_dump(char *str, unsigned char *pSrcBufVA, unsigned int SrcBufLen);
      ^~~~~~~~
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.c:3021:8: warning: unused variable 'MlmeRate' [-Wunused-variable]
  UCHAR MlmeRate;
        ^~~~~~~~
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.c: At top level:
/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.c:3159:1: fatal error: opening dependency file /home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/.cmm_data.o.d: Отказано в доступе
}
^
cc1: some warnings being treated as errors
compilation terminated.
/usr/src/linux-headers-4.9.0-14-common/scripts/Makefile.build:309: ошибка выполнения рецепта для цели «/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.o»
make[4]: *** [/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/../../common/cmm_data.o] Ошибка 1
/usr/src/linux-headers-4.9.0-14-common/Makefile:1560: ошибка выполнения рецепта для цели «_module_/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux»
make[3]: *** [_module_/home/user/DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux] Ошибка 2
Makefile:152: ошибка выполнения рецепта для цели «sub-make»
make[2]: *** [sub-make] Ошибка 2
Makefile:8: ошибка выполнения рецепта для цели «all»
make[1]: *** [all] Ошибка 2
make[1]: выход из каталога «/usr/src/linux-headers-4.9.0-14-amd64»
Makefile:388: ошибка выполнения рецепта для цели «LINUX»
make: *** [LINUX] Ошибка 2
[свернуть]

ogost

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

Modigar

Цитата: ogost от 06 декабря 2020, 20:13:10а ошибка у вас про что-то с правами доступа
Ошибка в компиляции

error: passing argument 2 of 'hex_dump' from incompatible pointer type [-Werror=incompatible-pointer-types]
    hex_dump("null frame after", &longValue, 4);

Видимо этот драйвер для более старого ядра.

ferum

Цитата: Juriy от 06 декабря 2020, 04:55:55Драйвера нашлись только здесь:https://www.mediatek.com/products/broadbandWifi/rt3070
Когда бы вам было реально интересно , прочитали бы README, и узнали что исходник древний как говно мамонта.
stretch так же на излёте жизненного цикла, но надо понимать в какое время, на каких версиях компилятора и libc6 он построен. По этому ваши драйверы тут https://github.com/flexiti/mt7601 Собирайте и всё должно работать.
Русские дебианщики против цифрового слабоумия !

Juriy

Благодарю откликнувшихся.
Цитата: ogost от 06 декабря 2020, 20:13:10
У меня с интерфейсами от ralink сугубо негативный опыт, что с вафлями, что с проводными.
а ошибка у вас про что-то с правами доступа.
Да у меня к Ralink тоже один негатив. Был опыт перепрошивки провайдерского роутера на openwrt с чипами Ralink, там wifi себя так же примерно вел плюс в вебинтерфейсе роутера дублировались подключения и сообщество забило на него. А дешевый свисток с wifi просто выкинул после пару дней использования, нервы дороже.

Я это "чудо" не брал бы, выбора нормального не было. Нужен был с SMA под антенну и разумную цену, в магазинах подобные старые бренды уже идут под новыми ревизиями с чипами от Ralink (по сути взял бы то же самое и переплатил бы за бренд). Ну и по надеялся, что проблемы поправлены.

ferum, Modigar,
README я читал, что в исходниках с диска от китайца, что в той ссылке. Китайские так от апреля 11 года. Я и на форум бы писать не стал если бы в темах не увидел удачный опыт других.
Цитата: ferum от 07 декабря 2020, 09:38:41stretch так же на излёте жизненного цикла
Да, нужно бы перейти. Знаю, устаревает, но как переход представишь, внутри все отговаривает. Вроде год еще.

По драйверам с github, make то же с error
Открыть содержимое (спойлер)
user@my-pk:~/mt7601$ make
make -C tools
make[1]: вход в каталог «/home/user/mt7601/tools»
gcc -g bin2h.c -o bin2h
make[1]: выход из каталога «/home/user/mt7601/tools»
/home/user/mt7601/tools/bin2h
cp -f os/linux/Makefile.6 /home/user/mt7601/os/linux/Makefile
make -C /lib/modules/4.9.0-14-amd64/build SUBDIRS=/home/user/mt7601/os/linux modules
make[1]: вход в каталог «/usr/src/linux-headers-4.9.0-14-amd64»
  CC [M]  /home/user/mt7601/os/linux/../../os/linux/rt_profile.o
/home/user/mt7601/os/linux/../../os/linux/rt_profile.c: In function 'announce_802_3_packet':
/home/user/mt7601/os/linux/../../os/linux/rt_profile.c:331:16: warning: unused variable 'pAd' [-Wunused-variable]
  RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)pAdSrc;
                ^~~
In file included from /home/user/mt7601/include/rtmp_os.h:44:0,
                 from /home/user/mt7601/include/rtmp_comm.h:75,
                 from /home/user/mt7601/include/rt_config.h:33,
                 from /home/user/mt7601/os/linux/../../os/linux/rt_profile.c:28:
/home/user/mt7601/os/linux/../../os/linux/rt_profile.c: In function 'STA_MonPktSend':
/home/user/mt7601/os/linux/../../os/linux/rt_profile.c:399:35: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat=]
         DBGPRINT(RT_DEBUG_ERROR, ("%s : Size is too large! (%d)\n", __FUNCTION__, pRxBlk->DataSize + sizeof(wlan_ng_prism2_header)));
                                   ^
/home/user/mt7601/include/os/rt_linux.h:661:16: note: in definition of macro 'DBGPRINT_RAW'
         printk Fmt;               \
                ^~~
/home/user/mt7601/os/linux/../../os/linux/rt_profile.c:399:9: note: in expansion of macro 'DBGPRINT'
         DBGPRINT(RT_DEBUG_ERROR, ("%s : Size is too large! (%d)\n", __FUNCTION__, pRxBlk->DataSize + sizeof(wlan_ng_prism2_header)));
         ^~~~~~~~
  CC [M]  /home/user/mt7601/os/linux/../../sta/assoc.o
  CC [M]  /home/user/mt7601/os/linux/../../sta/auth.o
  CC [M]  /home/user/mt7601/os/linux/../../sta/auth_rsp.o
  CC [M]  /home/user/mt7601/os/linux/../../sta/sync.o
/home/user/mt7601/os/linux/../../sta/sync.c: In function 'PeerBeacon':
/home/user/mt7601/os/linux/../../sta/sync.c:2180:12: error: passing argument 8 of 'StaAddMacTableEntry' from incompatible pointer type [-Werror=incompatible-pointer-types]
            ie_list,
            ^~~~~~~
In file included from /home/user/mt7601/include/rt_config.h:59:0,
                 from /home/user/mt7601/os/linux/../../sta/sync.c:28:
/home/user/mt7601/include/rtmp.h:7892:9: note: expected 'IE_LISTS * {aka struct _IE_lists *}' but argument is of type 'BCN_IE_LIST * {aka struct _bcn_ie_list *}'
BOOLEAN StaAddMacTableEntry(
         ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
/usr/src/linux-headers-4.9.0-14-common/scripts/Makefile.build:309: ошибка выполнения рецепта для цели «/home/user/mt7601/os/linux/../../sta/sync.o»
make[4]: *** [/home/user/mt7601/os/linux/../../sta/sync.o] Ошибка 1
/usr/src/linux-headers-4.9.0-14-common/Makefile:1560: ошибка выполнения рецепта для цели «_module_/home/user/mt7601/os/linux»
make[3]: *** [_module_/home/user/mt7601/os/linux] Ошибка 2
Makefile:152: ошибка выполнения рецепта для цели «sub-make»
make[2]: *** [sub-make] Ошибка 2
Makefile:8: ошибка выполнения рецепта для цели «all»
make[1]: *** [all] Ошибка 2
make[1]: выход из каталога «/usr/src/linux-headers-4.9.0-14-amd64»
Makefile:394: ошибка выполнения рецепта для цели «LINUX»
make: *** [LINUX] Ошибка 2
[свернуть]

ferum

Juriy,  К сожаления stretch у меня уже нет, но в buster  поддержка чипа точно включена в ядро ( по ходу начиная с версии 4.2 ) /lib/modules/версия ядра/kernel/drivers/net/wereless/mediatek/mt7601u/mt7601u.ko
но не всё так просто в этой жизни. Попробуйте, только с пониманием  процесса сделать следующее.
git clone https://github.com/flexiti/mt7601.git
cd mt7601/mcu/bin
sudo mv MT7601.bin  /lib/firmware/mt7601u.bin
sudo modprobe -r mt7601u
sudo modprobe mt7601u
Русские дебианщики против цифрового слабоумия !

Juriy

ferum,
У меня 10-ка в виртуалбоксе нашлась (ставил посмотреть после выхода). Подкинул nonfree репозиторий и поставил пакеты firmware-misc-nonfree firmware-ralink пришлось так же поправить NetworkManager.conf, адаптер завелся. Явных глюков как в 9-ке не заметил (часик погонял), скорость up 11-12mb/s down 9-6mb/s (но это скорее или адаптер устаревший вроде как он только b,g. Да и роутер в метрах 20 от него с пониженным сигналом в 25% мощности.) Будет стимул быстрее перейти на 10-ку.

По теме.
Склонировал mt7601.git, перенес mt7601u.bin, удалил mt7601u, подключил заного, ошибок не было. Результат тот же самый, штормит адаптер.
lsmod показал что mt7601u ни где не используется, как был rt2800usb так и есть.
Кусок lsmod:
rt2800usb              28672  0
rt2x00usb              24576  1 rt2800usb
rt2800lib              94208  1 rt2800usb
rt2x00lib              53248  3 rt2800lib,rt2800usb,rt2x00usb
mac80211              675840  3 rt2800lib,rt2x00lib,rt2x00usb
cfg80211              593920  2 rt2x00lib,mac80211
crc_ccitt              16384  1 rt2800lib
rfkill                 24576  3 cfg80211
usbcore               258048  6 rt2800usb,rt2x00usb,ehci_hcd,ohci_pci,ohci_hcd,ehci_pci

ferum

Цитата: Juriy от 07 декабря 2020, 13:22:52удалил mt7601u,
Нет не удалил, просто выгрузил, да и нужды удалять нет, ядро пока обновляется.
Цитата: Juriy от 07 декабря 2020, 13:22:52как был rt2800usb так и есть.
Попробуйте выгрузить этот модуль, как вариант поместить его в blacklist.
Русские дебианщики против цифрового слабоумия !

Juriy

Цитата: ferum от 07 декабря 2020, 13:55:04Попробуйте выгрузить этот модуль, как вариант поместить его в blacklist.
Попробовал выгрузить через modprobe -r rt2800usb и подгрузить modprobe mt7601u, не вышло. rt2800usb все равно был.
Занес blacklist rt2800usb в /etc/modprobe.d/blacklist.conf, перезагрузился, адаптер стал виден только по lsusb. NetworkManager его не видит.
Откатываться на ранние системы смысла нет, видать придется переползать на 10-ку.
lsmod
Открыть содержимое (спойлер)
Module                  Size  Used by
mt7601u               102400  0
mac80211              675840  1 mt7601u
cfg80211              593920  2 mac80211,mt7601u
rfkill                 24576  2 cfg80211
cpufreq_powersave      16384  0
cpufreq_userspace      16384  0
cpufreq_conservative    16384  0
nls_utf8               16384  3
cifs                  684032  6
sha256_ssse3           32768  0
cmac                   16384  0
md4                    16384  0
des_generic            24576  0
arc4                   16384  0
dns_resolver           16384  1 cifs
fscache                61440  1 cifs
crct10dif_pclmul       16384  0
crc32_pclmul           16384  0
ghash_clmulni_intel    16384  0
snd_intel8x0           40960  1
snd_ac97_codec        126976  1 snd_intel8x0
ac97_bus               16384  1 snd_ac97_codec
snd_pcm               110592  2 snd_ac97_codec,snd_intel8x0
snd_timer              32768  1 snd_pcm
snd                    86016  6 snd_ac97_codec,snd_timer,snd_intel8x0,snd_pcm
soundcore              16384  1 snd
sg                     32768  0
evdev                  24576  9
intel_cstate           16384  0
intel_uncore          118784  0
intel_rapl_perf        16384  0
pcspkr                 16384  0
video                  40960  0
button                 16384  0
serio_raw              16384  0
ac                     16384  0
parport_pc             28672  0
ppdev                  20480  0
lp                     20480  0
parport                49152  3 lp,parport_pc,ppdev
ip_tables              24576  0
x_tables               36864  1 ip_tables
autofs4                40960  2
ext4                  593920  2
crc16                  16384  1 ext4
jbd2                  110592  1 ext4
crc32c_generic         16384  0
fscrypto               28672  1 ext4
ecb                    16384  0
mbcache                16384  3 ext4
sd_mod                 49152  4
sr_mod                 24576  0
cdrom                  61440  1 sr_mod
ata_generic            16384  0
crc32c_intel           24576  0
aesni_intel           167936  1
ahci                   40960  2
libahci                32768  1 ahci
ata_piix               36864  0
psmouse               135168  0
aes_x86_64             20480  1 aesni_intel
glue_helper            16384  1 aesni_intel
lrw                    16384  1 aesni_intel
gf128mul               16384  1 lrw
ablk_helper            16384  1 aesni_intel
i2c_piix4              24576  0
cryptd                 24576  3 ablk_helper,ghash_clmulni_intel,aesni_intel
ohci_pci               16384  0
ehci_pci               16384  0
ohci_hcd               53248  1 ohci_pci
ehci_hcd               81920  1 ehci_pci
libata                249856  4 ahci,ata_piix,libahci,ata_generic
usbcore               258048  5 mt7601u,ehci_hcd,ohci_pci,ohci_hcd,ehci_pci
usb_common             16384  1 usbcore
e1000                 143360  0
scsi_mod              225280  4 sd_mod,libata,sr_mod,sg
[свернуть]

serke7771

#9
Цитата: Juriy от 07 декабря 2020, 16:44:25rt2800usb
https://wiki.debian.org/rt2800usb

ctrl+f и ищешь свой 148F:3070. Там он есть.


Бинарник сунуть debian надо.

А так роутер 5 Ghz до 2000р купи (как репитер ставь) . И скорость выше в разы. 
я знаю про Debian это
https://yadi.sk/d/DvClza40AyT8ag

ChubaDuba

#10
Цитата: Juriy от 07 декабря 2020, 13:22:52У меня 10-ка в виртуалбоксе нашлась (ставил посмотреть после выхода). Подкинул nonfree репозиторий и поставил пакеты firmware-misc-nonfree firmware-ralink пришлось так же поправить NetworkManager.conf, адаптер завелся.
Что мешает в 9-ку запихнуть свежее ядро и firmware?


Cообщение объединено 09 декабря 2020, 01:54:26

В stretch-backports:
linux-image
firmware-misc-nonfree
firmware-ralink
Всё тоже самое что и в Buster'е.


Juriy

Цитата: ChubaDuba от 08 декабря 2020, 23:42:39Что мешает в 9-ку запихнуть свежее ядро и firmware?
В бекпортах только 4.19 ядро. Пробовал ставить:
linux-image-4.19.0-0.bpo.9-amd64
linux-headers-4.19.0-0.bpo.10-amd64
linux-headers-4.19.0-0.bpo.11-amd64
linux-headers-4.19.0-0.bpo.12-amd64

Скачал по вашей ссылке linux-image-amd64_4.19+105+deb10u4~bpo9+1_amd64.deb, попробовал поставить через dpkg, ставиться linux-image-amd64 (4.19+105+deb10u4~bpo9+1)
После каждой установки идет загрузка grub, потом черный экран с мигающим курсором в левом верхнем углу и дальше не загружается.
Не буду утверждать верно или нет, но на одном форуме нашел, что на debian 9 максимум ставиться ядро 4.16.

ChubaDuba

Нужно подключить репозиторий stretch-backports и устанавливать из него.

Juriy

Цитата: ChubaDuba от 09 декабря 2020, 06:24:51Нужно подключить репозиторий stretch-backports и устанавливать из него.
Так я так и делал, только репозиторий у меня с яндексового зеркала:
deb http://mirror.yandex.ru/debian/ stretch-backports main contrib non-free
Когда с первыми 4-мя не вышло, скачал пакет уже по Вашей ссылке и через dpkg его попробовал поставить.
А те 4-ре пробовал и с linux-headers ставить и без. Результат один.

ChubaDuba

Цитата: Juriy от 09 декабря 2020, 05:57:19Не буду утверждать верно или нет, но на одном форуме нашел, что на debian 9 максимум ставиться ядро 4.16.
Согласитесь, что Debian Backports - это не помойка как AUR в ArchLinux. Туда просто так ничего не положишь, тем более неработающее ядро.