Вы не знаете, записываете ли вы скомпилированный код или используете 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= (последние две строки) для новых имен файлов ...
Наконец-то я нашел рабочее решение для этой проблемы. Ответ от 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);
}
Надеюсь, что это поможет ...
Наконец-то я нашел рабочее решение для этой проблемы. Ответ от 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);
}
Надеюсь, что это поможет ...
Наконец-то я нашел рабочее решение для этой проблемы. Ответ от 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);
}
Надеюсь, что это поможет ...