Я хотел бы назначить устройство/dev/fbX, как показано ниже.
/dev/fb0 для устройства USB-LCD.
/dev/fb1 для основного устройства отображения.
Я пробую это.
ver.1: создано /etc/udev/rules.d/91-udev-fb.rulesКак назначить/dev/fbX?
KERNEL=="fb0", ATTR{name}=="VESA VGA", ACTION=="add", NAME="fd1"
KERNEL=="fb1", ATTR{name}=="I-O DATA USB-RG", ACTION=="add", NAME="fd0"
результат.
ls/dev показан только для/dev/fb0.
ver.2: создано /etc/udev/rules.d/91-udev-fb.rules
KERNEL=="fb0", ATTR{name}=="VESA VGA", ACTION=="add", NAME=="fd1"
KERNEL=="fb1", ATTR{name}=="I-O DATA USB-RG", ACTION=="add", NAME=="fd0"
результат.
ls/dev показан/dev/fb0 и/dev/fb1, но/dev/fb0 - VESA VGA. тест udevadm/DEV/fb0
parse_file: reading '/etc/udev/rules.d/50-udev.rules' as rules file
parse_file: reading '/etc/udev/rules.d/51-android.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-persistent-storage-tape.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-persistent-v4l.rules' as rules file
parse_file: reading '/dev/.udev/rules.d/61-dev-root-link.rules' as rules file
parse_file: reading '/lib/udev/rules.d/64-xorg-xkb.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/etc/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/etc/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '/lib/udev/rules.d/85-hwclock.rules' as rules file
parse_file: reading '/etc/udev/rules.d/90-hal.rules' as rules file
parse_file: reading '/etc/udev/rules.d/91-permissions.rules' as rules file
parse_file: reading '/etc/udev/rules.d/91-udev-fb.rules' as rules file
parse_file: reading '/etc/udev/rules.d/95-late.rules' as rules file
parse_file: reading '/etc/udev/rules.d/z60_xserver-xorg-input-wacom.rules' as rules file
unable to open device '/dev/fb0'
и udevadm информация -a -n/DEV/fb0 показано, как же, как VESA VGA.
Я думаю, что мои созданные правила неверны. Пожалуйста, предложите мне, как я могу выполнять правила udev.
Эта среда - Debian Lenny на VMware.
Цель тестирует изменение основного монитора из процесса загрузки с помощью udev assign.
VESA VGA < - переключатель udev assign -> USB-LCD.
Это по умолчанию, что ничего не добавлено в /etc/udev/rules.d.
Когда я загружаю linux,/dev/fb0 является основным дисплеем и/dev/fb1 является USB-LCD.
И это информация разработчика.
-/dev/fb0
looking at device '/class/graphics/fb0':
KERNEL=="fb0"
SUBSYSTEM=="graphics"
DRIVER==""
ATTR{bits_per_pixel}=="8"
ATTR{blank}==""
ATTR{console}==""
ATTR{cursor}==""
ATTR{mode}==""
ATTR{modes}=="U:800x600p-75"
ATTR{pan}=="0,0"
ATTR{virtual_size}=="800,600"
ATTR{name}=="VESA VGA"
ATTR{stride}=="800"
ATTR{rotate}=="0"
ATTR{state}=="0"
looking at parent device '/devices/platform/vesafb.0':
KERNELS=="vesafb.0"
SUBSYSTEMS=="platform"
DRIVERS=="vesafb"
ATTRS{modalias}=="platform:vesafb"
looking at parent device '/devices/platform':
KERNELS=="platform"
SUBSYSTEMS==""
DRIVERS==""
-/dev/fb1
looking at device '/class/graphics/fb1':
KERNEL=="fb1"
SUBSYSTEM=="graphics"
DRIVER==""
ATTR{bits_per_pixel}=="16"
ATTR{blank}==""
ATTR{console}==""
ATTR{cursor}==""
ATTR{mode}==""
ATTR{modes}=="U:1280x1024p-60"
ATTR{pan}=="0,0"
ATTR{virtual_size}=="1280,1024"
ATTR{name}=="I-O DATA USB-RG"
ATTR{stride}=="2560"
ATTR{rotate}=="0"
ATTR{state}=="0"
looking at parent device '/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb2/2-1':
KERNELS=="2-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="c0"
ATTRS{bMaxPower}=="500mA"
ATTRS{urbnum}=="143"
ATTRS{idVendor}=="17e9"
ATTRS{idProduct}=="0151"
ATTRS{bcdDevice}=="0101"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="480"
ATTRS{busnum}=="2"
ATTRS{devnum}=="2"
ATTRS{version}==" 2.00"
ATTRS{maxchild}=="0"
ATTRS{quirks}=="0x0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="DisplayLink"
ATTRS{product}=="I-O DATA USB-RGB_D"
ATTRS{serial}=="122937"
looking at parent device '/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb2':
KERNELS=="usb2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bMaxPower}==" 0mA"
ATTRS{urbnum}=="49"
ATTRS{idVendor}=="1d6b"
ATTRS{idProduct}=="0002"
ATTRS{bcdDevice}=="0206"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="480"
ATTRS{busnum}=="2"
ATTRS{devnum}=="1"
ATTRS{version}==" 2.00"
ATTRS{maxchild}=="6"
ATTRS{quirks}=="0x0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Linux 2.6.26-2-686 ehci_hcd"
ATTRS{product}=="EHCI Host Controller"
ATTRS{serial}=="0000:02:03.0"
ATTRS{authorized_default}=="1"
looking at parent device '/devices/pci0000:00/0000:00:11.0/0000:02:03.0':
KERNELS=="0000:02:03.0"
SUBSYSTEMS=="pci"
DRIVERS=="ehci_hcd"
ATTRS{vendor}=="0x15ad"
ATTRS{device}=="0x0770"
ATTRS{subsystem_vendor}=="0x15ad"
ATTRS{subsystem_device}=="0x0770"
ATTRS{class}=="0x0c0320"
ATTRS{irq}=="17"
ATTRS{local_cpus}=="ff"
ATTRS{local_cpulist}=="0-7"
ATTRS{modalias}=="pci:v000015ADd00000770sv000015ADsd00000770bc0Csc03i20"
ATTRS{enable}=="1"
ATTRS{broken_parity_status}=="0"
ATTRS{msi_bus}==""
looking at parent device '/devices/pci0000:00/0000:00:11.0':
KERNELS=="0000:00:11.0"
SUBSYSTEMS=="pci"
DRIVERS==""
ATTRS{vendor}=="0x15ad"
ATTRS{device}=="0x0790"
ATTRS{subsystem_vendor}=="0x0000"
ATTRS{subsystem_device}=="0x0000"
ATTRS{class}=="0x060401"
ATTRS{irq}=="0"
ATTRS{local_cpus}=="ff"
ATTRS{local_cpulist}=="0-7"
ATTRS{modalias}=="pci:v000015ADd00000790sv00000000sd00000000bc06sc04i01"
ATTRS{enable}=="1"
ATTRS{broken_parity_status}=="0"
ATTRS{msi_bus}=="1"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
Благодарим Вас за любые предложения к этому :-)
Большое спасибо N 1.1 за быстрый ответ. Я пытаюсь создать 50-udev-fb.rules, затем в syslog add_to_rules: недопустимый KERNEL ... и я пытаюсь использовать == для установки vars. т. е. KERNEL == "fb0" ... тогда в syslog нет ошибки об этом. Но результат «udevadm info -a -n/dev/fb0» был таким же. – tknv
есть. '==' должен использоваться с 'KERNEL'. Назовите файл '81-udev-fb.rules' или' 91-udev-fb.rules'. 50 довольно низкая и может переместиться. –
Спасибо, ответ. Я создал 91-udev-fb.rules, # 1-NAME = - KERNEL == "fb0", ATTR {name} == "VESA VGA", ACTION == "add", NAME = "fd1" KERNEL == "fb1", ATTR {name} == "IO DATA USB-RG", ACTION == "add", NAME = "fd0" - Только/dev/fb0, не отображается/dev/fb1. # 2-NAME == - KERNEL == "fb0", ATTR {name} == "VESA VGA", ACTION == "add", NAME == "fd1" KERNEL == "fb1", ATTR { name} == "IO DATA USB-RG", ACTION == "add", NAME == "fd0" /dev/fb0 и/dev/fb1. Но/dev/fb0 был VESA VGA. --- Оба не работают. – tknv