Аппаратное обеспечение: модуль Technexion TDM3730 на специальной плате. Программное обеспечение: ядро Linux v.2.6.37 на основе дистрибутива Technexion.
Изначально у меня есть 2 варианта модуля TDM3730: с чипом Wi-Fi и без него.
Модуль, который содержит встроенный WiFi-чип, использует драйвер libertas_sdio и nl80211 и работает нормально.
Но я хочу подключить внешний модуль WiFi к другому варианту модуля.
У меня есть USB-модуль Wi-Fi VT6656, и в моем ядре Linux уже есть соответствующий драйвер (в подкаталоге stage). Драйвер insmod работает нормально, регистрирует интерфейс eth1.
"ifconfig eth1 some.my.ip.addr up" работает нормально, но у меня два странных сообщения:
"Файл Config_FileOperation не существует" и «Zone = [2] [E] [U]»
Затем "iwlist eth1 scan" работает нормально, я вижу все наши сети Wi-Fi.
Поэтому я делаю wpa_passphrase и получаю конфигурацию:
Сеть = {
ssid = "Интеллектуальная паяльная комната"
# PSK = "my_psk_in_text"
PSK = my_psk_in_hex_string
}
И наконец, когда я звоню
wpa_supplicant -B -Dwext -ieth1 -c /path /to /my /conf
Я получаю сообщение от драйвера vt6656, как
Сканирование [g¦isQ Jü)= ¦ëªvóF | TT ° Z.c3ßãÚ] не найдено, отключено!
Похоже, имя, которое не содержит символов, не относящихся к ASCII, было неправильно передано драйверу (тот же конфиг для встроенных чипов Wi-Fi работает совершенно нормально). Но в чем причина такого искажения имени? Приложение wpa_supplicant, драйвер WEXT, драйвер vt6656? Есть ли известный способ решить проблему?