Приводы для беспроводного адаптера Ralink MT7601U

Вы не знаете, записываете ли вы скомпилированный код или используете Bash?

Протестированные сценарии Bash:

template=/tmp/$(basename $0)_$(date --rfc-3339=date)__$$__XXXXXXXX template="$(echo -n "$template" | tr ' ' '_')" file=$(mktemp -u $template) echo $file

Пример вывода: /tmp/bash_2014-07-25__4772__nrzQXfMg

Повторите с file= (последние две строки) для новых имен файлов ...

0
задан 1 October 2017 в 18:27

3 ответа

Наконец-то я нашел рабочее решение для этой проблемы. Ответ от GitHub

Загрузите соответствующий источник ядра из kernel.org. Например: если у вас 4.4.0-104-generic скачать версию 4.4. Вы можете проверить текущую версию ядра, запустив uname --kernel-release Из архива распакуйте только папку drivers/net/wireless/mediatek/mt7601u Редактировать phy.c. Найти функцию mt7601u_init_cal и прокомментировать mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0);, как в коде 1 ниже. Найти функцию mt7601u_phy_recalibrate_after_assoc и прокомментировать mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp);, как в коде 2 ниже. Модуль сборки: make -C / lib / modules / $ (uname -r ) / build M = $ (pwd). Удалите устройство sudo rmmod mt7601u sudo insmod ./mt7601u.ko Вставьте устройство Проверьте, нет ошибок в dmesg, и интерфейс появился в ip-ссылке, проверьте стабильность соединения. Чтобы изменения сохранялись до следующего обновления ядра: резервное копирование исходного модуля и замена скомпилированным. Чтобы узнать, где выполняется оригинальный запуск модуля modinfo mt7601u (просмотреть строку filename: /lib/modules/_KERNEL_VERSION_/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko).

Я пробовал этот метод на Ubuntu 16.04 с ядром 4.10. Работа безупречно ...

Код 1:

// ret = mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0); 
// if (ret) 
// return ret;
// ret = mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->dpd_temp); 
// if (ret) 
// return ret;

Код 2:

void mt7601u_phy_recalibrate_after_assoc(struct mt7601u_dev *dev)
    { 
    // mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp);
       mt7601u_rxdc_cal(dev); 
    }

Надеюсь, что это поможет ...

0
ответ дан 22 May 2018 в 17:58

Наконец-то я нашел рабочее решение для этой проблемы. Ответ от GitHub

Загрузите соответствующий источник ядра из kernel.org. Например: если у вас 4.4.0-104-generic скачать версию 4.4. Вы можете проверить текущую версию ядра, запустив uname --kernel-release Из архива распакуйте только папку drivers/net/wireless/mediatek/mt7601u Редактировать phy.c. Найти функцию mt7601u_init_cal и прокомментировать mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0);, как в коде 1 ниже. Найти функцию mt7601u_phy_recalibrate_after_assoc и прокомментировать mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp);, как в коде 2 ниже. Модуль сборки: make -C / lib / modules / $ (uname -r ) / build M = $ (pwd). Удалите устройство sudo rmmod mt7601u sudo insmod ./mt7601u.ko Вставьте устройство Проверьте, нет ошибок в dmesg, и интерфейс появился в ip-ссылке, проверьте стабильность соединения. Чтобы изменения сохранялись до следующего обновления ядра: резервное копирование исходного модуля и замена скомпилированным. Чтобы узнать, где выполняется оригинальный запуск модуля modinfo mt7601u (просмотреть строку filename: /lib/modules/_KERNEL_VERSION_/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko).

Я пробовал этот метод на Ubuntu 16.04 с ядром 4.10. Работа безупречно ...

Код 1:

// ret = mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0); // if (ret) // return ret; // ret = mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->dpd_temp); // if (ret) // return ret;

Код 2:

void mt7601u_phy_recalibrate_after_assoc(struct mt7601u_dev *dev) { // mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp); mt7601u_rxdc_cal(dev); }

Надеюсь, что это поможет ...

0
ответ дан 18 July 2018 в 05:58

Наконец-то я нашел рабочее решение для этой проблемы. Ответ от GitHub

Загрузите соответствующий источник ядра из kernel.org. Например: если у вас 4.4.0-104-generic скачать версию 4.4. Вы можете проверить текущую версию ядра, запустив uname --kernel-release Из архива распакуйте только папку drivers/net/wireless/mediatek/mt7601u Редактировать phy.c. Найти функцию mt7601u_init_cal и прокомментировать mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0);, как в коде 1 ниже. Найти функцию mt7601u_phy_recalibrate_after_assoc и прокомментировать mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp);, как в коде 2 ниже. Модуль сборки: make -C / lib / modules / $ (uname -r ) / build M = $ (pwd). Удалите устройство sudo rmmod mt7601u sudo insmod ./mt7601u.ko Вставьте устройство Проверьте, нет ошибок в dmesg, и интерфейс появился в ip-ссылке, проверьте стабильность соединения. Чтобы изменения сохранялись до следующего обновления ядра: резервное копирование исходного модуля и замена скомпилированным. Чтобы узнать, где выполняется оригинальный запуск модуля modinfo mt7601u (просмотреть строку filename: /lib/modules/_KERNEL_VERSION_/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko).

Я пробовал этот метод на Ubuntu 16.04 с ядром 4.10. Работа безупречно ...

Код 1:

// ret = mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0); // if (ret) // return ret; // ret = mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->dpd_temp); // if (ret) // return ret;

Код 2:

void mt7601u_phy_recalibrate_after_assoc(struct mt7601u_dev *dev) { // mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp); mt7601u_rxdc_cal(dev); }

Надеюсь, что это поможет ...

0
ответ дан 24 July 2018 в 18:29

Другие вопросы по тегам:

Похожие вопросы: