Eu tenho um laptop barato descartável que eu gostaria de mexer, um Thinkpad SL 500.
O que me incomoda são dois leds, um para conectividade sem fio e outro para hibernação, que não acendem, apesar de funcionais, eu tentei no Windows.
Então, eu gostaria de escrever um driver de kernel para eles, nada grande, apenas parece uma boa idéia brincar com o kernel.
Minha pergunta é: qual metodologia devo seguir sistematicamente para descobrir quais dispositivos são responsáveis por esses leds (em geral, não necessariamente específicos para o meu hardware) e quais drivers são responsáveis pelos outros dois leds que funcionam, bluetooth e o indicador de bateria?
E quando digo metodologia, eu realmente quero dizer a metodologia, passo a passo, com razões para cada passo, como na resposta que dei a alguém aqui: O que && significa em vazio * p = && abc;
Sou proficiente em fazer o fgrepping através de grandes repositórios de código, usando analisadores de código estático & co, mas acho que minha falta de conhecimento de hardware me atrapalha nesse problema.
PS: Estou usando o ArchLinux, quase a última versão do kernel.
fonte
Respostas:
Idealmente, você deve encontrar a fonte (aberta) do sistema operacional do kernel no qual os LEDs do laptop estão funcionando; basta comentar parte por parte do kernel até localizar o código responsável pelos LEDs (e com alguns congelamentos do sistema, mas essa é a parte divertida).
Receio que seja a melhor resposta que alguém possa dar, e isso torna você (quase) nada mais inteligente do que antes. Apenas aponta que você precisa descobrir exatamente qual hardware possui, para poder fazer algo mais.
Para ajudar mais, dois ponteiros:
Um dos chips IDE ou SATA frequentemente usados é a série ICHX ou ICHXr da Intel (ICH5, ICH6, ICH7 ... ou ICH6R, ICH7R, ...).
Diretório de kernel do Linux, onde está localizado o código-fonte para controlar muitos LEDs
Eu daria a você o terceiro ponteiro também, mas como esse gorkypy já escreveu acima, posso repetir: drivers de dispositivo Linux, 3ª edição , em PDF, de graça.
fonte