LINUX.ORG.RU

help. Atheros AR9485, gentoo


0

1

на ноуте стоит карточка Atheros AR9485 в ядре поставил

CONFIG_ATH9K=m
CONFIG_ATH9K_PCI=y

ifconfig -a карточку не видит. modprobe ath9k говорит, что модуля нет. есть идеи?



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

Опцию в конфиге ядра включали посредством menuconfig или редактирования файла с конфигом ядра?

Как собирали ядро?

modprobe ath9k говорит, что модуля нет. есть идеи?

Идеи есть: значит модуль не собран. Ну или можно проверить:

find /lib/modules -type f -name "ath9*"

Загружено собранное ядро?

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

Где ответы на вопросы? Точнее на вопрос «Как собирали ядро?».

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

Как собирали ядро?

genkernel. Но он не включил ath9k и ath9k_pci. я сделал menuconfig, потом make && make modules_install. Потом cp bzImage в boot

Загружено собранное ядро?

да

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

genkernel. Но он не включил ath9k и ath9k_pci.

А вы сказали genkernel, что нужно запустить menuconfig?

genkernel all --menuconfig

я сделал menuconfig

Так не бывает, если в menuconfig была видна опция при переходе по дереву настроек в тот раздел, где она находится, после её включения соответствующий код (драйвер) должен быть собран.

Я думаю вы всё же отредактировали в ручную конфиг ядра.

потом make && make modules_install.

Лучше собирать ядро и модули в несколько потоков:

make menuconfig
make -jN bzImage
make -jN modules
make install
make modules_install

Где N - число потоков сборки, можете рассчитывать исходя из числа ядер процессора.

Делайте ещё раз, можете использовать команды, которые я привёл, только уберите внесённые вами в ручную изменения. После чего запускаете 'make menuconfig' и смотрите зависимости модуля, для этого нажимаете клавишу «/», затем вводите «ath9k» и нажимаете ввод. Включаете зависимости и далее переходите в соответствующий раздел и включаете опцию.

Неужели слакварщик не умеет конфигурировать и собирать ядро?

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

Сейчас попробую. Нет, все делал через menuconfig.

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

Увы. Может попробовать заново с genkernel all --menuconfig но сразу указать все нужные опции? по идее ведь нет разницы, но я уже не знаю, что делать.

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

Модуль собрался или нет? Просмотрите вывод dmesg на предмет сообщений от модуля (драйвера). Не уверен, но не нужны ли ещё и прошивки от atheros?

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

Вчера все работало. Просто я малость накосячил и случайно удалил initrd, все сделал заново с genkernel и вот теперь не работает.

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

в dmesg нет упоминаний об ath9k

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

Ну и зачем было пересобирать ядро? Достаточно было собрать заново initrd:

genkernel --ramdisk
И всё. Почитайте уже документацию по используемым вами программам и дистрибутиву в целом.

А так вы рассказываете какие-то сказки. В общем здесь нет специфики Gentoo, ядро конфигурируется и собирается обычным способом. Возможно, вы всё же грузите не то ядро, ну или у вас, например boot на отдельном разделе и он не смонтирован, а при выполнении команды:

make install
Ну либо:

cp bzImage в boot

вы копируете образ ядра не в /boot, а в корневой раздел, точнее в точку монтирования файловой системы с /boot.

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

Мне самому не верится. boot у меня на этом же разделе. Ядро в boot одно. Надо почитать,да все никак руки не дойдут.

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

Конфиг загрузчика хоть правили? При выполнении:

make install
образ ядра будет скопирован в /boot под именем vmlinuz-версия-ядра.

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

мне мало инфы, но поругаюсь:
1. генкернел это зло, но я его не перевариваю, потому могу быть неадекватен
2. не вижу

zgrep ATH9K /proc/config.gz
по конфигу загруженного ядра. то что лежит в /boot вообще не имеет значения, на самом-то деле.
п.2 таки выявит КАК собрано ядро - если там не окажется нужных параметров, значит косячит генкернел и/или ТС.

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

Это мистика и Вы снова скажете, что я Вам сказки на ночь тут рассказываю: я вспомнил(не знаю почему), что когда-то добавлял в ядро еще модуль iwl4965(возможно даже на прошлом ноуте), и вот я его добавил и сделал make && make modules_install. Процесс занял заметно больше времени, чем раньше. и после перезагрузки все работает. Я ничего не понимаю, но спасибо)

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

лови

zcat /proc/config.gz | grep -i ath9
CONFIG_CMDLINE="root=/dev/sda8 raid=noautodetect rootfstype=ext4 pcie_aspm=force asus_laptop.bluetooth_status=0 radeon.dynclks=1 radeon.hw_i2c=1 radeon.no_wb=0 clocksource=hpet ath9k.ps_enable=1 radeon.dpm=1 radeon.audio=0"
CONFIG_ATH9K_HW=m
CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K=m
CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_DEBUGFS=y
CONFIG_ATH9K_LEGACY_RATE_CONTROL=y
CONFIG_ATH9K_RFKILL=y
CONFIG_ATH9K_HTC=m
# CONFIG_ATH9K_HTC_DEBUGFS is not set

для bluetooth и энергии:

zcat /proc/config.gz | grep -i ath3
CONFIG_BT_ATH3K=m
CONFIG_EXTRA_FIRMWARE="radeon/ARUBA_me.bin radeon/ARUBA_pfp.bin radeon/ARUBA_rlc.bin radeon/TAHITI_uvd.bin radeon/R600_rlc.bin radeon/TURKS_pfp.bin rtl_nic/rtl8168e-3.fw radeon/TURKS_mc.bin radeon/TURKS_me.bin radeon/SUMO_uvd.bin radeon/BTC_rlc.bin ath3k-1.fw radeon/TURKS_smc.bin"

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

какой энергии?

ну это на лету написал - все что связано с powersaving :) Чтобы отрубить сей девайс вовремя - ибо жрет немало. Если есть у тебя конечно он.

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

Используемый драйвер картой. Ну и в начале я вас всё же спрашивал появляется ли в /lib/modules модуль или нет.

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

Мастер «зелёнка»?

Ага, он родимый, а вообще как угодно.

swwwfactory ★★
()
Ответ на: комментарий от kostik87
find /lib/modules/ -name "ath9*"
/lib/modules/3.12.13-gentoo/kernel/drivers/net/wireless/ath/ath9k
/lib/modules/3.12.13-gentoo/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
/lib/modules/3.12.13-gentoo/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko
/lib/modules/3.12.13-gentoo/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko

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

Может кинешь ссылочку на приведние в порядок powersaving и прочего, а то что-то греется сильно и батарейка садится быстро.

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

Может кинешь ссылочку на приведние в порядок powersaving и прочего, а то что-то греется сильно и батарейка садится быстро.

Надо смотреть по ситуации, что там у тебя - есть разные источники. В первую очередь видео и отключить лишнюю карту (тоже разные способы)

Смотри страничку советов мегабакса - для старта сойдет. Легко детектируется.

powertop

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

Вообще, основные кандидаты: видео карты (как правило дискретная - нужно отключить, если возможно), bluetooth, остальное по мере возможностей и желания/допекания

Если совсем плохо будет, придется ставить закрытые дрова для твоей видео-карты

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

я наоборот хотел на дискретной работать, думал как заставить иксы работать именно с ней.

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

я наоборот хотел на дискретной работать, думал как заставить иксы работать именно с ней.

лучше отрубить её от греха подальше - потом поиграешься, когда у тебя будет потребление 10-18W и нагрев до 50-60-70 C

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

Сейчас я сижу на intel карточке. Но радеон все равно что-ли пашет? возможно что это именно она ноут греет? он греется и шумит(куллеры), как-будто он пашет на полную, а она ничего не делает и загрузца проца почти нулевая.

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

у тебя не работает энергосбережение для radeon вероятно - для начала попробуй отключи эту карточку и работай только с интел, если это возможно. Если у тебя открытые дрова радеона, то начни с корректной их установки и так-же фирмварей, хотя может это не обязательно, если собираешься карту отключать. У меня два радеона и один из них отключил - как нашел где-то на форуме уже не помню (ниже мой листинг отключений - может не работать в твоем случае)

Смотри gentoo radeon wiki howto -хорошо все расписано.

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

vgaswitcheroo нужно врубить в ядре

сat /etc/local.d/pm.start                                                                                                                                                                
#!/bin/bash

echo "low" > /sys/class/drm/card0/device/power_profile
echo "low" > /sys/class/drm/card1/device/power_profile
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch


#Enable SATA link power Managmenet for host0                                       echo 'min_power' > '/sys/class/scsi_host/host0/link_power_management_policy';             
#Enable SATA link power Managmenet for host1                                       echo 'min_power' > '/sys/class/scsi_host/host1/link_power_management_policy';             
#Enable SATA link power Managmenet for host2                                       echo 'min_power' > '/sys/class/scsi_host/host2/link_power_management_policy';             
#Enable SATA link power Managmenet for host3                                       echo 'min_power' > '/sys/class/scsi_host/host3/link_power_management_policy';             

#Enable Audio codec power management                                               
echo '1' > '/sys/module/snd_hda_intel/parameters/power_save'                             

#VM writeback timeout                                                              echo '1500' > '/proc/sys/vm/dirty_writeback_centisecs';                                   
#Autosuspend for USB device USB Optical Mouse [Logitech]                           echo 'auto' > '/sys/bus/usb/devices/2-2/power/control';                                   
#Autosuspend for USB device USB 2.0 UVC HD Webcam [SuYin]                          
echo 'auto' > '/sys/bus/usb/devices/1-3/power/control'                                   

#Autosuspend for USB device Bluetooth USB Host Controller [Atheros Communications]
echo 'auto' > '/sys/bus/usb/devices/2-4/power/control'
                                   
#Autosuspend for USB device EHCI Host Controller [usb1]                            
echo 'auto' > '/sys/bus/usb/devices/usb1/power/control'
                                  
#Autosuspend for USB device xHCI Host Controller [usb3]                            
echo 'auto' > '/sys/bus/usb/devices/usb3/power/control'
                                  
#Autosuspend for USB device xHCI Host Controller [usb4]                            
echo 'auto' > '/sys/bus/usb/devices/usb4/power/control'
                                  
#Autosuspend for USB device OHCI Host Controller [usb2]                            
echo 'auto' > '/sys/bus/usb/devices/usb2/power/control'                                  

#Wake-on-lan status for device enp2s0                                              
ethtool -s enp2s0 wol d          



cpufreq-set -c 0 -g conservative
cpufreq-set -c 1 -g conservative
cpufreq-set -c 2 -g conservative
cpufreq-set -c 3 -g conservative
swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 1)
Ответ на: комментарий от swwwfactory

Спасибо большое. Для этой лабуды из ядра нужно смонтировать же вроде что-то? В конце для каждого ядра включаешь режим?

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

это не ядро, а простой баш-скрипт-сервис запускающийся при старте системы (можно просто запускать, когда надо).

Некоторые вещи типа vgaswitcheroo надо гуглить читать - выставляются в ядре. Некоторые, например радеон - открытые дрова, опять же в ядре, правильно настроенные по gentoo wiki radeon. Остальное - мелочевка, но в целом набирает.

Но в общем да - это в основном монтируется ядром.

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

kostik87, я кажется не там искал проблему. Т.е. проблема не связана конкретно с ath9k: я сейчас в ядро добавлил debug_fs и несколько модулей для веб камер(не знаю, какая у меня). Сделал

make menuconfig
make -j9 bzImage
make -j9 modules
make install
make modules_install
Но после перезагрузки zcat /proc/config.gz показал, что ничего не добавилось. И вопрос еще доп, я до этого пытался добавить debug_fs и при загрузке появлялось что-то, типа could not find the root block device in UUID=blahblahblah. Есть идеи?

momo
() автор топика

в итоге выкинул genkernel, сконфигурировал заново ядро и все стало хорошо.

momo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.