Mac OS X equivalente a “udevadm info -a -n / dev / ttyACM0”

3

Qual é o equivalente do comando Linux no Mac OS X udevadm info /dev/ttyACM0 ?

Estou tentando obter as informações de USB sobre um dispositivo TTY ( /dev/tty.whatever ) em um script.

UPDATE: Estou procurando informações sobre um dispositivo de porta TTY / serial (não um disco). Este é o tipo de saída que estou procurando (campos críticos são destacados):

[rhwood@localhost ~]$ udevadm info /dev/ttyACM3
P: /devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2.2/2-2.2:1.0/tty/ttyACM3
N: ttyACM3
S: digitrax-pr3-3
E: DEVLINKS=/dev/digitrax-pr3-3
E: DEVNAME=/dev/ttyACM3
E: DEVPATH=/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2.2/2-2.2:1.0/tty/ttyACM3
E: ID_BUS=usb
E: ID_FOR_SEAT=tty-pci-0000_02_00_0-usb-0_2_2_1_0
E: ID_MM_CANDIDATE=1
E: ID_MODEL=VC0M_Port
E: ID_MODEL_ENC=VC0M\x20Port
E: ID_MODEL_ID=ff7e
E: ID_PATH=pci-0000:02:00.0-usb-0:2.2:1.0
E: ID_PATH_TAG=pci-0000_02_00_0-usb-0_2_2_1_0
E: ID_REVISION=0001
E: ID_SERIAL=Digitrax_Inc._VC0M_Port
E: ID_TYPE=generic
E: ID_USB_CLASS_FROM_DATABASE=Communications
E: ID_USB_DRIVER=cdc_acm
E: ID_USB_INTERFACES=:020201:0a0000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Digitrax_Inc.
E: ID_VENDOR_ENC=Digitrax\x20Inc.
E: ID_VENDOR_FROM_DATABASE=Microchip Technology, Inc.
E: ID_VENDOR_ID=04d8
E: MAJOR=166
E: MINOR=3
E: SUBSYSTEM=tty
E: TAGS=:seat:systemd:uaccess:
E: USEC_INITIALIZED=292186515

Estou realmente interessado em corresponder a DEVNAME ( /dev/ttyACM3 ) às informações VENDOR e MODEL .

    
por Randall 26.02.2015 / 20:25

1 resposta

1

Com base em alguma pesquisa e localização este tópico de perguntas e respostas no site Unix e Linux Stack Exchange , não parece haver um equivalente um-para-um de udevadm no Mac OS X. Também há este tópico de perguntas e respostas no Stack Overflow que parece abordar o problema programaticamente com uma recomendação baseada em Python, mas novamente ele ainda não é um equivalente um a um. / p>

A coisa mais próxima que eu posso encontrar é a própria ferramenta de linha de comando da Apple, diskutil . Então, usando o seu exemplo:

diskutil info /dev/ttyACM0

Forneceria uma lista de dados relacionados ao disco e à partição como este. Para este exemplo, executei diskutil info /dev/disk0 no meu Mac Mini e esta é a saída:

Device Identifier:        disk0
Device Node:              /dev/disk0
Part of Whole:            disk0
Device / Media Name:      APPLE HDD HTS545050A7E362 Media

Volume Name:              Not applicable (no file system)

Mounted:                  Not applicable (no file system)

File System:              None

Content (IOContent):      GUID_partition_scheme
OS Can Be Installed:      No
Media Type:               Generic
Protocol:                 SATA
SMART Status:             Verified

Total Size:               500.1 GB (500107862016 Bytes) (exactly 976773168 512-Byte-Units)
Volume Free Space:        Not applicable (no file system)
Device Block Size:        512 Bytes

Read-Only Media:          No
Read-Only Volume:         Not applicable (no file system)
Ejectable:                No

Whole:                    Yes
Internal:                 Yes
Solid State:              No
OS 9 Drivers:             No
Low Level Format:         Not supported
Device Location:          "Lower"

Agora, isso é útil para dispositivos em nível de bloco reais, como discos, mas se por algum motivo você precisar de dados em itens USB que não sejam discos, poderá usar a versão de linha de comando de system_profiler e faça com que ele filtre apenas os itens USB com SPUSBDataType da seguinte forma:

system_profiler SPUSBDataType

Dependendo de quantos itens USB você conectou ao seu Mac, essa lista pode ser bastante grande. Mas é útil a partir de um ponto de vista de script / linha de comando.

    
por 26.02.2015 / 20:48

Tags