O Kernel reconhece o dispositivo USB, mas não consigo encontrá-lo em / sys ou / dev

3

Quando conecto meu Samsung 390G (um celular barato!) ao Ubuntu 13.04, o dmesg parece indicar que o dispositivo de armazenamento nele é reconhecível:

[Sun Dec 29 01:26:10 2013] scsi16 : usb-storage 2-1.2:1.0
[Sun Dec 29 01:26:11 2013] scsi 16:0:0:0: Direct-Access     SAMSUNG  MMC Storage      2.31 PQ: 0 ANSI: 2
[Sun Dec 29 01:26:11 2013] sd 16:0:0:0: Attached scsi generic sg2 type 0
[Sun Dec 29 01:26:11 2013] sd 16:0:0:0: [sdb] 61497344 512-byte logical blocks: (31.4 GB/29.3 GiB)
[Sun Dec 29 01:26:11 2013] sd 16:0:0:0: [sdb] Write Protect is off
[Sun Dec 29 01:26:11 2013] sd 16:0:0:0: [sdb] Mode Sense: 0f 0e 00 00
[Sun Dec 29 01:26:11 2013] sd 16:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[Sun Dec 29 01:26:11 2013]  sdb: sdb1
[Sun Dec 29 01:26:11 2013] sd 16:0:0:0: [sdb] Attached SCSI removable disk
[Sun Dec 29 01:26:11 2013] sd 16:0:0:0: [sdb] Synchronizing SCSI cache

Mas o problema é que nenhum dispositivo aparece para isso (ou seja, nenhum / dev / sdb ou / dev / sdb1). Eu estou especulando que eu preciso fazer alguma regra de udev aqui, mas eu não preciso ser capaz de encontrar o nó pai em / sys para isso? E não consigo encontrar nada - não tenho certeza de onde procurar, mas até agora minhas suposições razoáveis não renderam nada.

Nota para referência que este dispositivo é montado como uma unidade no Windows Explorer, por isso estou confiante de que o telefone funciona como esperado.

    
por Stabledog 31.12.2013 / 16:55

1 resposta

0

Você provavelmente precisará adicionar uma regra UDEV para detectar as presenças desse dispositivo. Uma vez que o dispositivo é detectado, o UDEV pode criar o /dev/sdb1 correspondente para acompanhá-lo.

Estes documentos do OpenSUSE devem começar na criação desta regra.

Em relação à sua pergunta:

"... but don't I need to be able to find the parent node in /sys for that? And I can't find anything..."

Eu esperaria que, se o kernel detectasse com êxito /dev/sdb1 , o que significa desde que você está obtendo essas mensagens em seu dmesg log, então você teria as entradas correspondentes em /sys .

Eu investigaria o /sys mais a fundo, provavelmente há um identificador de dispositivo escondido lá que corresponde a /dev/sdb1 . Você pode andar pela árvore usando este comando: udevadm info -a -p /sys/class/... , você precisará adicionar o dispositivo apropriado no lugar dos pontos ( ... ).

Exemplo

$ udevadm info -a -p /sys/class/ata_device/dev1.0 

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1f.2/ata1/link1/dev1.0/ata_device/dev1.0':
    KERNEL=="dev1.0"
    SUBSYSTEM=="ata_device"
    DRIVER==""
    ATTR{gscr}==""
    ATTR{class}=="ata"
    ATTR{ering}=="[4294667.658000000]Unknown"
    ATTR{spdn_cnt}=="0"
    ATTR{pio_mode}=="XFER_UDMA_7, XFER_UDMA_6, XFER_UDMA_5, XFER_UDMA_4, XFER_MW_DMA_4, XFER_PIO_6, XFER_PIO_5, XFER_PIO_4, XFER_PIO_3, XFER_PIO_2, XFER_PIO_1, XFER_PIO_0"
    ATTR{dma_mode}=="XFER_UDMA_7, XFER_UDMA_6, XFER_UDMA_5, XFER_UDMA_4, XFER_UDMA_3, XFER_UDMA_2, XFER_UDMA_1, XFER_UDMA_0, XFER_MW_DMA_4, XFER_MW_DMA_3, XFER_MW_DMA_2, XFER_SW_DMA_2, XFER_PIO_6, XFER_PIO_5, XFER_PIO_4, XFER_PIO_3, XFER_PIO_2"
    ATTR{xfer_mode}=="XFER_UDMA_7, XFER_UDMA_6, XFER_UDMA_5, XFER_UDMA_4, XFER_UDMA_3, XFER_UDMA_2, XFER_UDMA_1, XFER_UDMA_0, XFER_MW_DMA_4, XFER_MW_DMA_3, XFER_MW_DMA_2, XFER_SW_DMA_2, XFER_PIO_6, XFER_PIO_5, XFER_PIO_4, XFER_PIO_3, XFER_PIO_2"

  looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata1/link1/dev1.0':
    KERNELS=="dev1.0"
    SUBSYSTEMS==""
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata1/link1':
    KERNELS=="link1"
    SUBSYSTEMS==""
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata1':
    KERNELS=="ata1"
    SUBSYSTEMS==""
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1f.2':
    KERNELS=="0000:00:1f.2"
    SUBSYSTEMS=="pci"
    DRIVERS=="ahci"
    ATTRS{irq}=="40"
    ATTRS{subsystem_vendor}=="0x17aa"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x010601"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{local_cpus}=="00000000,00000000,00000000,0000000f"
    ATTRS{device}=="0x3b2f"
    ATTRS{msi_bus}==""
    ATTRS{local_cpulist}=="0-3"
    ATTRS{vendor}=="0x8086"
    ATTRS{subsystem_device}=="0x2168"
    ATTRS{numa_node}=="-1"
    ATTRS{d3cold_allowed}=="1"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
    
por 31.12.2013 / 17:49

Tags