Perguntas sobre 'devices'

nos ajude a editar este wiki
1
resposta

não pode criar / dev / shm

Eu preciso criar /dev/shm em um sistema ARM integrado. De " Instalado as últimas alterações para corrente e ...... ". Eu vejo que ele pode ser criado com mkdir /lib/udev/devices/shm , mas eu estou querendo saber o que é suposto estar na...
12.01.2014 / 04:00
2
respostas

Por que o 'head -c 2 / dev / hwrng' não funciona?

Eu tenho um Atmel 97SC3201 no meu computador e configure o seguinte no kernel: CONFIG_HW_RANDOM_TPM CONFIG_TCG_TPM CONFIG_TCG_ATMEL /dev tem tpm0 e hwrng , mas a execução desse comando retorna o seguinte: head -c 2 /dev/hwr...
25.05.2013 / 20:04
1
resposta

Vinculando um driver de dispositivo I2C

Estou tentando usar um teclado TCA8418 (que opera sobre I2C) e tenho o driver carregado no kernel, mas o dispositivo não foi reconhecido, por isso estou instanciando-o e não consigo vincular o driver. Eu recebo o seguinte erro: # echo -n "1-0...
22.10.2016 / 01:12
3
respostas

Quais são os dois valores dentro de colchetes angulares em um arquivo .dts da árvore de dispositivos?

A seguir, o snippet de código em um arquivo de árvore de dispositivos: flash@0 { compatible = "n25q128"; reg = <0x0>; spi-max-frequency = <50000000>; #address-cells...
25.03.2014 / 10:17
2
respostas

Como obter o endereço do modem USB conectado?

Acabei de conectar meu telefone N81 como modem USB ao Linux Mint 14. Tudo funciona bem, imaginando como encontrar um caminho completo para esse dispositivo, algo como /dev/tty* .     
02.04.2014 / 14:00
2
respostas

Como executar um aplicativo com certas permissões de grupo?

Eu tenho uma impressora 3D, com a qual meu PC pode se comunicar por meio de /dev/ttyACM0 : crw-rw---- 1 root uucp 166, 0 16 nov 14:58 ttyACM0 O aplicativo de impressão 3D repetierHost requer acesso de leitura / gravação a este dispo...
16.11.2014 / 15:33
1
resposta

Por que o sshd excluiu meu / dev / zero?

Quando faço lsof +c 0 | grep /dev/zero , vejo as duas linhas seguintes: sshd 19064 root DEL REG 0,4 497862 /dev/zero sshd 19064 root DEL REG 0,4 498725 /dev/zero A DEL palavra-chave é o que me int...
08.02.2015 / 11:22
2
respostas

Como detectar programaticamente quando um dispositivo gera uma interrupção? ______ qstntxt ___

Como detectar programaticamente quando um dispositivo gera uma interrupção? Isso pode acontecer quando um dispositivo é conectado ou desconectado.

E também neste caso: por exemplo: quando um dedo é segurado sobre um scanner de impressão digital, uma interrupção é levantada. Como detectar e possivelmente interceptar essa interrupção?

Eu quero escrever um aplicativo usando Gtkmm de modo que quando um evento ocorre como um CD sendo inserido ou um pendrive sendo conectado, eu pego a interrupção que esses dispositivos geram e uso para fazer algo no meu aplicativo, envolvendo esses dispositivos.

Se isso não puder ser feito em Gtkmm, posso interceptar a interrupção em um nível inferior e informar o aplicativo Gtkmm?

Eu estava verificando como o GParted se comporta. Inicialmente estava mostrando %code% e quando conectei meu pendrive, ele abriu automaticamente o aplicativo %code% . Quando chequei o GParted, o pendrive não estava presente no menu suspenso de dispositivos. Ele apareceu apenas quando eu selecionei “Refresh Devices” no menu do GParted ou Ctrl + R .

    
______ azszpr144883 ___
%bl0ck_qu0te%

Não, essa é uma atividade espaço do kernel . Felizmente, o kernel reporta o resultado de certos eventos através de interfaces acessíveis a partir da userland.

É um pouco ambíguo em sua pergunta se você deseja detectar quando um dispositivo de bloco está conectado, ou quando um sistema de arquivos é montado (embora pareça ser mais o antigo). Se o seu sistema usa automontagem (eles geralmente fazem por padrão), ele montará sistemas de arquivos de dispositivos de bloco quando eles estiverem conectados, caso contrário você terá que fazê-lo manualmente (por exemplo, com %code% ).

De qualquer forma, você deseja pesquisar / analisar / varrer uma interface baseada no nó de arquivo do kernel. Eu fiz isso antes em um aplicativo (na verdade, um C ++ GTK) que rastreia os dispositivos de bloco conectados e os sistemas de arquivos montados via %code% e %code% . Este é um método simples e independente de linguagem. Algumas pessoas acham isso um pouco desagradável no início porque envolve a leitura de arquivos / diretórios, mas essas interfaces não existem no disco, portanto não há sobrecarga de E / S pesada e lembre-se: %code% é uma chamada do sistema. A leitura dos nós de arquivos nas interfaces do kernel equivale à mesma coisa que uma API de %code% style, exceto, novamente, que é independente de idioma. Quando você vai ler esses nós, o kernel passa as informações que eles representam diretamente.

O diretório %code% lista os dispositivos conectados como arquivos especiais do nó do dispositivo - por exemplo, %código%. Eles são adicionados e removidos pelo kernel à medida que os dispositivos são plugados e removidos, portanto, se você rastreá-lo pesquisando em intervalos (digamos, a cada 5 segundos), é possível detectar o que há de novo e o que foi. A única complicação aqui é que, como não há API de estilo de retorno de chamada, você precisa criar seu próprio thread para isso, se quiser uma verificação contínua (talvez porque %code% exige que você clique em %code% ).

Uma alternativa provavelmente melhor para %code% seria o material em %code% . Observe que há uma diferença significativa entre %code% e %code% (veja abaixo) ou %code% na medida em que os nós do último contêm informações sobre coisas como dispositivos, enquanto os nós em %code% é uma conexão real com o dispositivo (assim, se você verificar %code% , não se incomode em ler os arquivos individuais, apenas note que eles existem).

%code% now-a-days é um link simbólico (veja também a opção %code% em %code% ) codificar%; %code% é uma interface principal do kernel do canivete suíço (consulte %code% ). Isto lista sistemas de arquivos montados ; Se você usar a montagem automática, as coisas aparecerão e desaparecerão quando o material estiver conectado / desconectado. As informações em %code% e %code% geralmente estão na forma de texto ASCII, portanto, você pode examinar esses arquivos com %code% , etc e analisá-los com funções de sequência (fluxo).

O WRT para outros tipos de dispositivos, como um scanner de impressão digital, %code% é um bom lugar para começar - %code% contém um diretório %code% e um %code% . Dispositivos de bloco são geralmente armazenamento; as informações neles podem ser acessadas aleatoriamente . Dispositivos char trocam informações com o sistema em um fluxo, o que inclui coisas como scanners, câmeras, coisas HID (dispositivo de interface humana, por exemplo, mouses e teclados). Percebo que o gtkmm tem algumas coisas de alto nível para coisas HID anexadas, presumivelmente, uma vez que elas são significativas na interação com a GUI.

    
______ azszpr146272 ___

Eu aprovo a resposta por %code% . Mas, em vez de usar a chamada do sistema %code% para verificar as alterações no sistema de arquivos, pode-se usar %code% .

Sua página man é aqui e aqui .

Há uma excelente explicação e exemplo dos criadores (desenvolvedores) de %code% aqui .

    
___

Como detectar programaticamente quando um dispositivo gera uma interrupção? Isso pode acontecer quando um dispositivo é conectado ou desconectado. E também neste caso: por exemplo: quando um dedo é segurado sobre um scanner de impressão digit...
16.07.2014 / 16:34
2
respostas

Dois manipuladores de interrupção para o mesmo driver

Eu tenho um cenário em que o meu motorista precisa ouvir duas interrupções diferentes de duas linhas de IRQ diferentes. É possível registrar dois IRQs diferentes e instalar dois manipuladores diferentes para o driver único? Qual é a melhor manei...
17.05.2017 / 04:26
4
respostas

Não há espaço no dispositivo no CentOS7

Minha máquina cujo SO é CentOS7 tem que fazer backup dos dados 50G no MySQL. Mas, não há espaço no dispositivo. Mas há muitos espaços em /home . Como posso fazer com que o usuário tenha espaço suficiente para o MySQL armazenar dados? Acho q...
21.04.2016 / 05:07