Настройка крысиного девайса в консоли NetBSD 3.1..

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Scr1pt
Сообщения: 22
ОС: FreeBSD 6.0

Настройка крысиного девайса в консоли NetBSD 3.1..

Сообщение Scr1pt »

Захотелось тут настроить мышу в консоли, дабы можно было проделывать операции копирования и вставки текста с помощью этого девайса.

Для начала: мышь у меня PS/2, от фирмы басурманской Logitech, чёрненькая :)

Вот результат работы программы 'dmesg':

Код: Выделить всё

bash-3.2# dmesg
NetBSD 3.1 (GENERIC) #2: M-OM-m M-DM-eM-j 10 21:23:34 UTC 2007
    Scr1pt@:/usr/src/sys/arch/i386/compile/GENERIC
total memory = 383 MB
avail memory = 366 MB
BIOS32 rev. 0 found at 0xfb030
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium III (686-class), 731.51 MHz, id 0x683
cpu0: features 383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 383f9ff<PGE,MCA,CMOV,PAT,PSE36,MMX>
cpu0: features 383f9ff<FXSR,SSE>
cpu0: I-cache 16 KB 32B/line 4-way, D-cache 16 KB 32B/line 4-way
cpu0: L2 cache 256 KB 32B/line 8-way
cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: 8 page colors
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: VIA Technologies VT82C691 (Apollo Pro) Host-PCI (rev. 0xc4)
agp0 at pchb0: aperture at 0xd0000000, size 0x10000000
ppb0 at pci0 dev 1 function 0: VIA Technologies VT82C598 (Apollo MVP3) CPU-AGP Bridge (rev. 0x00)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga1 at pci1 dev 0 function 0: NVIDIA RIVA TNT2 (rev. 0x15)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
pcib0 at pci0 dev 7 function 0
pcib0: VIA Technologies VT82C686A PCI-ISA Bridge (rev. 0x40)
viaide0 at pci0 dev 7 function 1
viaide0: VIA Technologies VT82C686A (Apollo KX133) ATA100 controller
viaide0: bus-master DMA support present
viaide0: primary channel configured to compatibility mode
viaide0: primary channel interrupting at irq 14
atabus0 at viaide0 channel 0
viaide0: secondary channel configured to compatibility mode
viaide0: secondary channel interrupting at irq 15
atabus1 at viaide0 channel 1
uhci0 at pci0 dev 7 function 2: VIA Technologies VT83C572 USB Controller (rev. 0x1a)
uhci0: interrupting at irq 9
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 7 function 3: VIA Technologies VT83C572 USB Controller (rev. 0x1a)
uhci1: interrupting at irq 9
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
pchb1 at pci0 dev 7 function 4
pchb1: VIA Technologies VT82C686A SMBus Controller (rev. 0x40)
auvia0 at pci0 dev 7 function 5: VIA Technologies VT82C686A AC'97 Audio (rev 0x50)
auvia0: interrupting at irq 11
auvia0: ac97: Avance Logic ALC200/ALC201 codec; headphone, 18 bit DAC, 18 bit ADC, Realtek 3D
auvia0: ac97: ext id 201<AMAP,VRA>
audio0 at auvia0: full duplex, mmap, independent
rtk0 at pci0 dev 15 function 0: Realtek 8139 10/100BaseTX
rtk0: interrupting at irq 11
rtk0: Ethernet address 00:80:48:31:0a:bf
ukphy0 at rtk0 phy 7: Generic IEEE 802.3u media interface
ukphy0: OUI 0x000000, model 0x0000, rev. 0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isa0 at pcib0
lpt0 at isa0 port 0x378-0x37b irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
[b]pms0 at pckbc0 (aux slot)[/b]
pckbc0: using irq 12 for aux slot
[b]wsmouse0 at pms0 mux 0[/b]
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
isapnp0: no ISA Plug 'n Play devices found
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
Kernelized RAIDframe activated
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 1: <HL-DT-ST CD-ROM GCR-8520B, , 1.00> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2
wd0 at atabus1 drive 0: <ST380011A>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 bytes/sect x 156301488 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(viaide0:1:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
cd0(viaide0:1:1): using PIO mode 4, DMA mode 2 (using DMA)
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
wd0: transfer error, downgrading to Ultra-DMA mode 4
wd0(viaide0:1:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA)
cd0(viaide0:1:1): using PIO mode 4, DMA mode 2 (using DMA)
wd0g: error writing fsbn 4817664 of 4817664-4817695 (wd0 bn 133853823; cn 132791 tn 7 sn 54), retrying
wd0: (aborted command, interface CRC error)
wd0: soft error (corrected)
wd0: transfer error, downgrading to Ultra-DMA mode 3
wd0(viaide0:1:0): using PIO mode 4, Ultra-DMA mode 3 (using DMA)
cd0(viaide0:1:1): using PIO mode 4, DMA mode 2 (using DMA)
wd0f: error reading fsbn 13928672 of 13928672-13928703 (wd0 bn 128284319; cn 127266 tn 3 sn 2), retrying
wd0: (aborted command, interface CRC error)
wd0: soft error (corrected)
wsdisplay0: screen 1 added (80x25, vt100 emulation)


Все строки, найденные мной, которые относятся к компьютерному грызуну я выделил жирным шрифтом. Может All ещё что-нибудь интересное по теме найдёт? :)

Попробовал выдернуть мышку из её порта - вышеперечисленные строки исчезли. Получается, ОС мышку нормально обнаружила и распознала. Это хорошо :)

Как я понял, почитав соответствующие мануалы, в NetBSD существует два демона, которые отвечают за работу мыши - это moused и wsmoused. Причём первый напрямую работает с девайсом - получает от него данные, перерабатывает их и отправляет второму. А второй демон wsmoused, уже на основе полученных данных работает с консолью - выполняет операции копирования/вставки и т.д.

Bот таким стандартным образом я пытался запустить демон moused:

Код: Выделить всё

bash-3.2# moused -p /dev/tty00
moused: cannot determine mouse type on /dev/tty00


Вышеозначенная ошибка говорит нам, что демону не удалось автоматически установить тип мыши (mouse type). Хорошо, что этот тип можно без труда назначить через параметр '-t', но вот какой тип ставить - это уже вопрос. 'man moused' предлагает на выбор множество вариантов для мышей, подключенных к COM порту (serial mouse), но почему-то я ни слова там не нашёл про мышей, подключенных к PS/2. Так какой же тип мыши (mouse type) выбрать?

А не должно ли в значении параметра '-p' демона moused стоять что-то вроде /dev/pms*, раз мышь подключена к порту PS/2? И если должно - очень странно, но никакого /dev/pms* у меня нет.

А курсор мыши в консоли должен появиться после запуска moused или после последующего за ним запуска wsmoused?

В иксах мышка работает нормально. Вот кусок конфига X, относящийся к этому девайсу:

Код: Выделить всё

Section "InputDevice"
    Identifier "Mouse0"
    Driver     "mouse"
    Option     "Protocol"        "wsmouse"
    Option     "Device"          "/dev/mouse"
    Option     "Emulate3Buttons"
    Option     "Emulate3Timeout" "50"
EndSection


И напоследок: вот такие ошибки выдаёт wsmoused, пытаясь запуститься (при запущенном moused, не важно с каким значением параметра '-t'):

Код: Выделить всё

bash-3.2# wsmoused
wsmoused: ioctl(WSDISPLAYIO_GETWSCHAR) failed: Operation not supported by
device
wsmoused: startup failed for 'selection' mode
wsmoused: no active modes found; exiting...


Что ему не нравится?
Будь жаден до информации, как бурундук до желудей -- никогда не знаешь когда она тебе может понадобиться ...
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: Настройка крысиного девайса в консоли NetBSD 3.1..

Сообщение Black »

По-моему, мышь настраивается в /etc/wsconsrc (или wscons.conf, или ещё как-то, давно это было :-)).
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Scr1pt
Сообщения: 22
ОС: FreeBSD 6.0

Re: Настройка крысиного девайса в консоли NetBSD 3.1..

Сообщение Scr1pt »

Black писал(а):
12.12.2007 23:23
По-моему, мышь настраивается в /etc/wsconsrc (или wscons.conf, или ещё как-то, давно это было :-)).


Имхо в /etc/wscons.conf настраивается только pckbd, т.е. клавиатура. Этот файл я уже перерыл полностью - настраивал русификацию консоли..
Будь жаден до информации, как бурундук до желудей -- никогда не знаешь когда она тебе может понадобиться ...
Спасибо сказали: