Next Previous Contents

17. Hardware

17.1 Как использовать дополнительные клавиши? Как назначить любую клавишу на запуск чего-либо?

Большинство современных сред имеют инструменты для их использования.

В Gnome задействовать эти клавиши можно с помощью утилиты acme и настроить с помощью acme-properties (Gnome Control Center->Настройки Рабочего Стола->Мульмедийные Клавиши).

В KDE 3.1 и раньше в kmenuedit - на запуск приложений и настройка клавиш в соответствующих программах.

В KDE 3.2 ещё и отдельный пункт в Центре управления KDE.

В WindowMaker это делается с помощью WPrefs

В других - или тоже используется утилита, или комбинации прописываются в файлах конфигурации.

Кроме того, можно использовать lineakd - http://lineak.sourceforge.net, им же можно назначить клавиши на запуск приложений.

Или Hotkeys ( http://freshmeat.net/projects/hotkeys/) - если разобраться, то можно вообще любыми клавишами "рулить" :).

Или xev & xmodmap. О том, как узнать коды клавиш и их использовать - http://www.nixp.ru/cgi-bin/go.pl?q=articles;a=multikeyboard.

А как эффективно использовать сами клавиши, тут - http://www.linux.org.ru/jump-message.jsp?msgid=452963

Если вы хотите, чтобы клавиши были доступны для всех пользователей, внесите работающие изменения в файл /etc/X11/Xmodmap.

17.2 Как в /dev именуются IDE-устройства (жесткие диски, накопители CD-ROM)?

hda - primary master
hdb - primary slave
hdc - secondary master
hdd - secondary slave

Цифры означают раздел - hda1 - первый раздел, hda2 - второй раздел и т.п.

17.3 Как включить DMA (UDMA)?

ВНИМАНИЕ: Неверные настройки могут привести к порче жесткого диска и/или пропаже данных!!!

Обычно все просто. Существует специальная программа, поставляемая в любом дистрибутиве, называется hdparm. В общем случае достаточно сделать следующее: `hdparm -c1 <устройство>` - установки 32-битного асинхронного режима - большинство дисков прекрасно работают с ним, `hdparm -d1 <устройство>` - собственно, включаем сам режим DMA.

PIO режим и DMA режим можно изменять и одной командой. `hdparm -X<число>`. Хочу обратить внимание, что если режим не поддерживается, то команда не сработает.

В дистрибутивах от RedHat постоянные настройки hdparm хранятся в /etc/sysconfig/harddisk.

Подробнее о параметрах hdparm можно прочитать на http://www.linuxshop.ru/linuxbegin/article102.html

Вот пример использования hdparm:

#!/bin/sh
# hdparm script

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

MAXTOR=/dev/hda
WD=/dev/hdb
DVD=/dev/hdc
BURNER=/dev/hdd

case "$1" in
  start)
        echo -n "Adjusting drive parameters using hdparm... "

        # d1 = dma on
        # c3 = 32bit io w/sync
        # m16 = read upto 16 sectors at a time
        # u1 = unmask other interrupts while processing disk interrupt

        if [ `hostname` == "marsala" ]
        then
            hdparm -d1 -c3 -m16 -u1 $MAXTOR
            hdparm -d1 -c3 -m16 -u1 $WD
            hdparm -d1 -u1 $DVD
            # hdparm -d1 -u1 $BURNER
        fi

        echo "done."
        ;;
  stop)
        ;;
  restart|force-reload)
        ;;
  *)
        ;;
esac

exit 0

17.4 hdparm выдает ошибку HDIO_SET_DMA failed: Operation not permitted using_dma = 0 (off), что делать?

У вас не включена поддержка чипсета вашей материнской платы в разделе поддержки винтов. Или же поддержка собрана модулем (для 2.6.х). В первом случае нужно пересобрать ядро, включив поддержку, а во втором случае - загружать при старте модуль, прописав его в modprobe.conf

Есть еще вариант для чипсетов с SATA, когда в биосе выставлен неверный режим работы SATA-контроллера.

17.5 Q: Какая в линуксе поддержка SATA для ядер 2.4? Как поставить линукс с ядром, не поддерживающим SATA?

Вот здесь море документации и список оборудования http://www.linuxmafia.com/faq/Hardware/sata.html Стоит заглянуть и сюда http://linux.yyz.us/sata/faq-sata-raid.html

17.6 Как заставить работать тв-тюнер? Как подключить пульт (lirc)?

Для примера возьмем avermedia tvstudio 203.

Для начала сконфигурим ядро:

make menuconfig:

Раздел Character devices, I2C support

I2C support
I2C bit-banging interfaces
<*> ELV adapter
<*> Velleman K9000 adapter
<*> NatSemi SCx200 I2C using GPIO pins
<*> NatSemi SCx200 ACCESS.bus
<*> I2C PCF 8584 interfaces
I2C device interface
I2C /proc interface (required for hardware sensors)

Раздел Multimedia devices:
Video For Linux
Video For Linux --->
Radio Adapters --->

Подраздел Video For Linux:

[*] V4L information in proc filesystem
--- Video Adapters
BT848 Video For Linux
<*> Mediavision Pro Movie Studio Video For Linux
<*> CPiA Video For Linux
SAA5249 Teletext processor
<*> SAB3036 tuner
<*> Stradis 4:2:2 MPEG-2 video driver (EXPERIMENTAL)
<*> Zoran ZR36057/36060 Video For Linux
<*> Zoran ZR36120/36125 Video For Linux

Раздел Sound:

Sound card support

BT878 audio dma

TV card (bt848) mixer support

Собираем ядро. Далее берем lirc (www.lirc.org) и собираем его. Lirc представляет собой модули для ядра и полезные утилиты для конфигурации и настройки пульта.

Теперь в /etc/modules.conf пропишем наш тюнер и пульт:

/etc/modules.conf:

# i2c
alias char-major-89 i2c-dev
options i2c-core i2c_debug=1
options i2c-algo-bit bit_test=1

# lirc
alias char-major-61 lirc_gpio

# bttv
alias char-major-81 videodev
alias char-major-81-0 bttv
options bttv card=41 tuner=5 radio=1 pll=1 automute=0
options tuner debug=1

Как видно выше, сам тв-тюнер задается номером. В данном случае card=41. Список карт и чипсетов есть в поставке bttv ( http://bytesex.org). Если конкретно вашего тюнера в списке нет, попробуйте просто перебрать номера карточек.

Наверно понятно, что после установки нового ядра придется перегрузиться :)

Теперь займемся конфигурацией:

/etc/lircd.conf - это файл настройки параметров пульта. Для большей части пультов такие файлы настройки уже есть. Они поставляются в составе lirc. Вам лишь нужно найти свой пульт и переписать файл в /etc.

/etc/.lircrc - файл настройки команд пульта. Поскольку толковых примеров нет, а читать документацию все боятся, приведу свой (jackill) - http://fine.kalinovka.net/articles/hobby/lorFAQ/files/lircrc.tgz

irexec и irxevent - утилиты из lirc. За более подробной информацией обращайтесь к документации.

В $HOME/.xinitrc перед запуском своего оконного менеджера пропишите irexec.

17.7 Как настроить USB-устройство в Linux?

Прочитайте статью http://vikos.lrn.ru//kos.php?name=papers/usb/USB-Lin.html

17.8 Как настроить и использовать USB-вебкамеру в Linux?

Общаться можно с помощью gnomemeeting ( http://www.gnomemeeting.org/index.php?rub=2&pos=0)

О настройке написано здесь - http://www.aboutdebian.com/webcam.htm . Для тех, у кого большие сложности с английским, быстро перескажу (jackill):

Нужно собрать (если нет) следующие модули:

videodev (иными словами video4linux или 4vl); usbcore; input; usb-uhci (если не получится установить этот модуль, попробуйте usb-ohcl или uhcl); и модуль поддержки камеры ibmcam для камер ibm, ov511 (например, для камер Creative WebCam III) или dc2xx (для камер Kodak).

Далее разрешаем всем обращаться к видео-устройству: chmod 666 /dev/video0

Ставим xawtv и перегружаемся.

После перезагрузки, если нет ошибок, запускаем xawtv. В TV-norm указываем вид сигнала с вашей камеры (PAL/NTSC), на предложение просканировать диапазон отвечаем нет (а в последних версиях xawtv эту возможность вообще убрали).

По большой и светлой идее теперь мы должны получить изображение с камеры в окне xawtv.

17.9 Как заставить работать привод CD-RW/DVD-RW?

В современных дистрибутивах поддержка CD-RW/DVD-RW идет прямо из коробки, как и программы для записи дисков. Тем не менее, если вы сами решили настроить и собрать ядро, или что-то пошло не так, полезно знать, что и где подкрутить, чтобы ваш привод мог писать диски.

1. Для ядер серии 2.6.х эмуляции scsi для поддержи записи не требуется. Поэтому ниже приводится сборка ядер серии 2.4.х:

Раздел ATA/IDE/MFM/RLL support, IDE, ATA and ATAPI Block devices:

<M>   Include IDE/ATAPI CDROM support

<M>   SCSI emulation support

Раздел SCSI support:

<M> SCSI support
 --- SCSI support type (disk, tape, CD-ROM)
<M>   SCSI disk support
(40) Maximum number of SCSI disks that can be loaded as modules
< >   SCSI tape support
< >   SCSI OnStream SC-x0 tape support
<M>   SCSI CD-ROM support
[*]     Enable vendor-specific extensions (for SCSI CDROM)
(8) Maximum number of CDROM devices that can be loaded as modules
<M>   SCSI generic support
 --- Some SCSI devices (e.g. CD jukebox) support multiple LUNs
[*]   Enable extra checks in new queueing code
[*]   Probe all LUNs on each SCSI device
[*]   Verbose SCSI error reporting (kernel size +=12K)
[ ]   SCSI logging facility
SCSI low-level drivers  --->

2. Собираем и ставим в систему пакеты. Они входят в состав любого дистрибутива, кроме узкоспециализированных на работу с сетью:

cdda2wav cdrdao cdrecord mkisofs

Это программы необходимы для создания образов дисков и записи.

3. Для ядер серии 2.4.х нужно передать в загрузчик строку о том, что наш привод работает как scsi:

а) если у нас стоит lilo, то в /etc/lilo.conf добавляем строчку

/etc/lilo.conf:

append="hdX=ide-scsi"

где X - буква вашего привода и выполняем lilo,

б) если у нас стоит grub, то в /etc/grub.conf добавляем напротив названия ядра строчку hdX=ide-scsi, например, вот так:

/etc/grub.conf:

kernel /boot/vmlinuz-2.4.25 ro hdc=ide-scsi

Чем записывать, читайте в вопросе Какие есть программы для записи CD-R/CD-RW/DVD?

Как записывать, читайте в вопросе Как записать компакт-диск (CD-R/CD-RW/DVD-RW)

Дополнительные статьи на тему настройки и записи дисков:

http://linuxshop.ru/linuxbegin/article307.html

http://www-106.ibm.com/developerworks/linux/library/l-cdburn.html?ca=dgr-lnxw16BurnCDs

http://linuxdoc.ru/HOWTO/html/CD-Writing-HOWTO.html

17.10 Где найти драйверы под модем (winmodem, HCF, HSF)?

Если модем аппаратный т.е. не является win-модемом, то драйверы для него не нужны - достаточно поддержки com-порта, собранной в ядре (по умолчанию у всех есть). Это старые модемы, работающие через шину ISA, некоторые новые и дорогие на pci (часто имеют в своем составе абревиатуру HCF), внешние подключаемые через com-порт, и некоторые подключаемые через USB (обычно имеют аналогичную модель, подключаемую через компорт).

Если модем программный, смотрите на каком чипе он собран (можно найти в документации или сразу посмотреть на маркировку микросхемы).

После чего отправляйтесь на сайт www.linmodems.org и посмотрите список поддерживаемых модемов - есть ли среди них ваш модем, или чип как у него.

Ниже в этом faq даны инструкции по установке некоторых модемов.

17.11 Как включить сжатие ip-заголовков microsoft (MPPE/MPPC)?

В виндах этот алгоритм называется MPPC сжатием (компрессией), Обычно в дистрибутивах linux поддержи по умолчанию нет,

Для того, чтобы ее включить, понадобится скачать патч для ядра http://www.polbox.com/h/hs001/ или отдельный модуль http://sourceforge.net/project/showfiles.php?group_id=44827&package_id=120221&release_id=244156.

Далее нужно пропатчить pppd (патч там же, где патч под ядро). А в /etc/modprobe.conf или /etc/modules.conf нужно добавить пару строчек, чтобы получилось следующее:

alias ppp-compress-18   ppp_mppe_mppc
alias char-major-108    ppp_generic
alias ppp-compress-21   bsd_comp
alias ppp-compress-24   ppp_deflate
alias ppp-compress-26   ppp_deflate
alias tty-ldisc-3       ppp_async
alias tty-ldisc-14      ppp_synctty

17.12 Как установить винмодем Modem: Intel Corp. 82801DB (ICH4) AC'97 на ядро 2.6.х?

Речь идет о модеме smartlink. Согласно lspci чип выглядит так:

00:1f.6 Modem: Intel Corp. 82801DB (ICH4) AC'97 Modem Controller (rev 03)

Для установки драйвера под данный модем понадобится следующее ПО: alsa-driver не ниже версии 1.0.3 ( http://www.alsa-project.org) slmodem версии 2.9.6 ( http://www.smlink.com)

Часть 1 - ядерная.

В последних версиях драйверов alsa есть драйвер snd-intel8x0m (буква m принципиальна), который нам и нужен. В alsa'е, включенной в ядра 2.6.х (на момент 2.6.3) этого модуля нет, поэтому его нужно добавить туда самому.

Итак, берем alsa-drivers, и slmodem-2.9.6.tar.gz и распаковываем в подходящие для этого директории.

Далее накладываем на ядро патч, поставляемый в составе slmodem. Если ядро из поставки RedHat, то придется подредактировать патч. Исправленная версия есть здесь - http://fine.kalinovka.net/articles/hobby/lorFAQ/files/alsa-linux-2.6.0.patch.gz

Если у нас ядро версии ниже 2.6.5, то заменяем файл intel8x0m.c на более свежий из alsa-driver - иначе просто не соберется.

В конфиге ядра включаем соответствующий модуль (CONFIG_SND_INTEL8X0M=m).

Собираем ядро.

Часть 2 - пользовательская.

После чего заменяем в modprobe.conf строчку

alias sound-slot-0 snd-intel8x0

на

alias sound-slot-0 snd-intel8x0m.

Перегружаемся.

Далее заходим в slmodem и делаем "make SUPPORT_ALSA=1". Получаем приложение slmodemd.

Как только мы его запускаем, автоматически появляется устройство /dev/ttySL0 :maj 136, min 1 (точнее, /dev/pts/1 т.к. /dev/ttySL0 - только ссылка). Это и есть наш винмодем.

За инфо благодарим Sergey V. Udaltsov AKA svu и Sasha Khapyorsky из smlink.com

17.13 Как установить драйверы к модему на чипсете Lucent?

Ответ от dn2010:

  1. скачал дрова версии 8.26-a9 с linmodems.org;
  2. поставил ./build_module ./ltinst2 ./autoload
  3. можно прописать загрузку lt_modem и lt_serial в /etc/rc.d/rc.modules (хотя у меня они нормально тягались и тягаются hotplugом).
  4. проверил, что /dev/modem --- это symlink на /dev/ttyLT0 ls -al /dev/modem
  5. дописал юзеров, которые могут звонить по модему в группу uucp (man usermod) или можно сделать права 666 на /dev/ttyLT0 (я выбрал первое).
  6. сказал kppp, что модем --- это /dev/modem

17.14 Как установить USB-модем ZyXEL Omni 56K (ZyXEL Omni 56K PLUS и DUO, ZyXEL Omni 56K UNO)?

Прочитать об этом можно на страничке McMCC http://mcmcc.bat.ru/omniusb/index.html

17.15 Как установить Zyxel OMNI ADSL USB (стрим)?

Качаем libatm-2.4.1( http://linux-atm.sourceforge.net/) и cxacru ( http://accessrunner.sourceforge.net, собственно сам драйвер)

Далее нужно настроить поддержку atm-а в ядре как написано в how-to к libatm ( http://www.tldp.org/HOWTO/ATM-Linux-HOWTO/) и собрать ядро и libatm.

Перегружаемся с новым ядром.

Осталось собрать cxacru. Для начала надо его пропатчить таким патчем:

diff -urN cxacru-orig/init/cxioctl.c cxacru/init/cxioctl.c
--- cxacru-orig/init/cxioctl.c  2004-05-11 11:05:25.000000000 +0400
+++ cxacru/init/cxioctl.c       2004-09-27 23:13:43.000000000 +0400
@@ -295,6 +295,9 @@
   /* Vendor = Zoom, Product = 5510 */
   else if (vid == 0x1803 && pid == 0x5510)
     return 6;
+  /* zyxel omni */
+  else if (vid == 0x0586 && pid == 0x330a)
+    return 5;

   return -1;
 }
diff -urN cxacru-orig/init/cxload.c cxacru/init/cxload.c
--- cxacru-orig/init/cxload.c   2004-05-11 11:05:25.000000000 +0400
+++ cxacru/init/cxload.c        2004-09-27 23:16:59.000000000 +0400
@@ -1136,6 +1136,10 @@
   /* Vendor = Zoom, Product = 5510 */
   else if (vid == 0x1803 && pid == 0x5510)
     return 6;
+  /* zyxel omni */
+  else if (vid == 0x0586 && pid == 0x330a)
+    return 5;
+

   return -1;
 }
diff -urN cxacru-orig/module2/xdslusb.c cxacru/module2/xdslusb.c
--- cxacru-orig/module2/xdslusb.c       2004-05-11 11:05:26.000000000 +0400
+++ cxacru/module2/xdslusb.c    2004-09-27 23:18:54.000000000 +0400
@@ -154,6 +154,9 @@
 #define CXACRU_PRODUCTID8               0x5510  /* Product = 5510 */
 #define CXACRU_VENDORID9                0x0675  /* Vendor = Draytek */
 #define CXACRU_PRODUCTID9               0x0200  /* Product = Vigor 318 */
+
+#define ZYXEL_VID 0x0586
+#define ZYXEL_PID 0x330a

 /* 3Com reference design (Alcatel DSP) */
 #define CP4218_VENDORID                 0x0506  /* Vendor = 3Com */
@@ -238,6 +241,7 @@

 #define hex2int(c) ( (c >= '0') && (c <= '9') ? (c - '0') : ((c & 0xf) + 9) )

+
 static struct usb_device_id udsl_usb_ids [] = {
        { USB_DEVICE (SPEEDTOUCH_VENDORID, SPEEDTOUCH_PRODUCTID) },
        { USB_DEVICE (AME_VENDORID, AME_PRODUCTID) },
@@ -251,6 +255,7 @@
        { USB_DEVICE (CXACRU_VENDORID8, CXACRU_PRODUCTID8) },
        { USB_DEVICE (CXACRU_VENDORID9, CXACRU_PRODUCTID9) },
        { USB_DEVICE (CP4218_VENDORID, CP4218_PRODUCTID) },
+       { USB_DEVICE (ZYXEL_VID, ZYXEL_PID) },
        { }
 };

@@ -1238,6 +1243,9 @@
        else if (vid == CP4218_VENDORID && pid == CP4218_PRODUCTID && cl == USB_CLASS_VENDOR_SPEC && ifn == 0)
                return UDSL_MODEM_TYPE3;

+       else if (vid == ZYXEL_VID && pid == ZYXEL_PID && cl == USB_CLASS_VENDOR_SPEC && ifn == 0)
+               return UDSL_MODEM_TYPE2;
+
        return -1;
 }

Дальше скомпилировать, он заодно и установится.

В /etc он засунет файл cxacru.conf

#
# Config file for Conexant AccessRunner
#

# Driver mode
DRIVER_MODE=1  # 1 = normal, 2 = debug, 3 = normal+max speed (without ask adsl status), 4 = debug+max speed (without ask adsl status)

# Protocol
PROTOCOL_MODE=4  # 1 = RFC1483/2684 routed, 2 = PPP over ATM (pppoa), 3 = RFC1483/2684 bridged, 4 = PPP over Ethernet (pppoe)

# Paths
BINARY_PATH="/usr/sbin"
ATM_PATH=""

# ADSL
#  if OPEN_MODE is blank then cxload uses default mode acoording VID & PID
#  Values for OPEN_MODE are:
#    0 = auto selection, G.Handshake
#    1 = auto selection, T1.413
#    2 = G.Handshake
#    3 = ANSI T1.413
#    4 = ITU-T G.992.1 (G.DMT)
#    5 = ITU-T G.992.2 (G.LITE)
OPEN_MODE=3

# ATM
VPI=1
VCI=50

# Specific for RFC1483/2684 routed/bridged
#  if IP_ADDRESS is blank in bridged mode then it uses DHCP to get IP
IP_ADDRESS=
NETMASK=
GATEWAY=

Затем нужно настроить pppoe на интерфейс nas0 и запустить cxstart.sh. У меня (no1sm) slackware и pppoe настраивается командой adsl-setup из пакета rp-pppoe.

Скорее всего придется еще что-нибудь подкрутить,но вобщем эта конфигурация должна быть рабочей.

17.16 Как настроить СТРИМ?

Как любое ADSL соединение:

Для некоего питерского провайдера, предоставляющего сходные услуги, есть подробная статья.

17.17 Как настроить USB-мышь/скролл у USB-мышки?

У большинства людей устройство скорее всего будет называться /dev/input/mice

Для подключения должно быть соответствующая нода. В большинстве дистрибутивов она есть. Если нет, ее можно создать:

 
mkdir /dev/input
mknod /dev/input/mice c 13 63

Ссылка на хорошее английское руководство - http://www.linux-usb.org/USB-guide/x194.html

Ядро должно быть собрано с опциями:

/usr/src/linux/.config:

CONFIG_INPUT                    #Обязательно.

CONFIG_INPUT_MOUSEDEV   #Для использования USB-мыши.

CONFIG_USB                              #Для использования USB-устройств вообще.

CONFIG_USB_DEVICEFS             #После этого появится /proc/bus/usb/devices, где видно что подключено.

CONFIG_USB_HID                  #Тоже нужно.

CONFIG_USB_HIDINPUT             #Аналогично.

CONFIG_USB_UHCI                 #Для компьютеров с материнками на базе чипсетов от Intel (intel 430TX, 440FX, 440LX, 440BX, i810, i820), VIA (VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro 133).

#
# ИЛИ
#

CONFIG_USB_OHCI                 #Для SiS или ALi (ALi IV, ALi V, Aladdin Pro)

Если включена поддержка usbfs, ее нужно прописать в /etc/fstab:

/etc/fstab:

none  /proc/bus/usb   usbfs defaults  0   0

Далее - настройка программ, которым нужна мышь.

Для gpm:

/etc/gpm.conf:

device=/dev/input/mice
responsiveness=
repeat_type=
type=autops2
append=""
sample_rate=

Для X-сервера (xorg, XFree86), в /etc/X11/xorg.conf (/etc/X11/XF86Config или /etc/X11/XF86Config-4):

XF86Config:

Section "InputDevice"
        Identifier  "Configured Mouse"
        Driver      "mouse"
        Option      "CorePointer"
        Option      "Device" "/dev/input/mice"
        Option      "Protocol" "ImPS/2"
        Option      "ZAxisMapping" "4 5"
EndSection

За ответы спасибо Zulu.

Кстати, на http://koala.ilog.fr/colas/mouse-wheel-scroll лежит сборник рекомендаций по настройке скролла "в чем угодно" :)

17.18 У меня проблема с клавиатурой/мышью при использовании ядра 2.6.x. Как исправить?

http://www.kerneltrap.org/node/view/2199

И вопрос "Как перейти на ядро 2.6? У меня не грузятся модули на ядре 2.6, что делать? (QM_MODULES)"

17.19 Как примонтировать hard USB/flash-карту?

Если в ядре включена поддержка SCSI и USB (в частности, USB Mass Storage), то в общем случае хватит команды:

root@localhost# mount /dev/sda1 /mnt/your_location -t vfat

vfat - название файловой fat32, которая используется в большинстве устройств, your_location - ваша папка.

Чтобы узнать как не монтировать из-под рута, читайте следующий вопрос.

А если что-то пошло не так, вам поможет эта статья - http://linuxportal.ru/entry.php/17_0_3_0_C

17.20 Как сделать, чтобы flash монтировалась не из под рута?

Добавить в fstab строчку вида

/dev/sda1 /mnt/flash auto users,noauto,rw,iocharset=koi8-r 0 0

или привести свою к этому виду. В iocharset укажите свою локаль.

Можно сделать совсем красиво, установив себе usbmount

17.21 Как слить фотографии с цифрового фотоаппарата с интерфейсом USB?

Многие цифровые фотоаппараты представляются системе как USB Flash

17.22 Мой фотоаппарат не является USB Mass Storage, что делать?

Попробуйте разобраться, какой протокол обмена он использует. Возможно, этот протокол поддерживается gphoto2. Gphoto2 - это набор текстовых утилит, но есть программыс графическим интерфейсом, которые с ним работают - Digikam и gtkam.

К примеру фотокамеры Canon используют протокол PTP (Picture Transfer Protocol), можно выбрать либо конкретную модель Canon, либо, при отсутствии нужной модели, просто указать USB PTP Class Camera.

17.23 Как подключить GPRS?

На русском - http://www.opennet.ru/base/net/gprs_linux.txt.html, http://dvtl.pisem.net/gprs_moto.html

http://turtiainen.dna.fi/GPRS-HOWTO

Если мобильный телефон определяется как AT-совместимый модем, идем на http://www.easyconnect.linuxuser.hu/ и качаем программу 'GPRS Easy Connect', собираем и запускаем

17.24 У меня старая карта ATI 3D Rage Pro. Хочу смотреть фильмы в MPlayer, но xv (да и OpenGL) не работает. Где взять драйвера?

Если нам нужно только xv и стабильность, идем на http://gatos.sourceforge.net и забираем драйвер ati.2 (чип нашей карты именуется Mach64). Можем забрать модуль и скопировать его файлы в папку X-сервера или собрать его сами.

СМОТРИТЕ ПОД КАКУЮ ВЕРСИЮ X-сервера ВЫ КАЧАЕТЕ МОДУЛЬ!!!

Но OpenGL у нас на этих драйверах не будет.

Чтобы получить еще и OpenGL, мы отправимся на http://www.retinalburn.net/linux и скачаем либо готовый драйвер.

Для ядер 2.4.х и XFree86-4.2-4.3 подойдет вот этот http://www.retinalburn.net/linux/dri-xv/mach64-dri-xv-20030413.i386.tar.bz2

Там же можно взять патч под Х-сервер, если вы испытываете особое желание собирать все самостоятельно. Однако в этом случае X-сервер придется выкачивать из CVS (есть там две ветки под mach64) и накладывать патч на них.

Драйвер имеет свойство сбоить и машина может зависнуть ЦЕЛИКОМ!

Для ядер 2.4-2.6 и xorg нужно скачать два файла: common-20041025-linux.i386.tar.bz2 и mach64-20041025-linux.i386.tar.bz2 и распаковать их в той же последовательности

После этого имеем: dri, OpenGL и xv (TV-out только в консоли: mplayer -vo vesa)

Можно туда ( http://www.freedesktop.org/~dri/snapshots/) периодически заглядывать, работа ведется и обновления выходят.

Способ для Gentoo Linux

VIDEO_CARDS="mach64" emerge x11-dri

Имеем: dri, OpenGL и xv (TV-out пока не проверялся)

ToDo: прикрутить TV-out патч к x11-drm.

Везде используется драйвер ati

Желательно до запуска иксов грузить agpgart agp_модуль чипсета и, собственно mach64.

За часть ответа об xorg благодарим kilolife.

17.25 Где можно найти материалы по подключению мобильных устройств к Linux?

http://www.tuxmobile.org

17.26 Как подключить кардридер?

http://hot-orange.narod.ru/chtivo/card-reader.htm

17.27 Кардридер читает только первый слот, что делать?

В вашем дистрибутиве чуть-чуть недокрутили настройки ядра. Дайте команду:

echo "scsi scsi-add-single-device <scsi instance> <scsi channel> <scsi id> <scsi lun>">/proc/scsi/scsi

Например, для шестипортового кардридера:

root@localhost# echo "scsi add-single-device 1 0 0 5" > /proc/scsi/scsi
root@localhost# echo "scsi add-single-device 1 0 0 4" > /proc/scsi/scsi
root@localhost# echo "scsi add-single-device 1 0 0 3" > /proc/scsi/scsi
root@localhost# echo "scsi add-single-device 1 0 0 2" > /proc/scsi/scsi
root@localhost# echo "scsi add-single-device 1 0 0 1" > /proc/scsi/scsi
root@localhost# echo "scsi add-single-device 1 0 0 0" > /proc/scsi/scsi

17.28 Поставил альсу (alsa), а звука нет. Что делать?

По умолчанию после установки alsa (если ранее она не стояла), все каналы находятся в заглушенном положении (mute). Поэтому запустите alsamixer и снимите mute клавишей m с каналов Master и PCM.

Кнопки курсора вверх и вниз позволят установить требуемый уровень звука.

17.29 Как сохранить настройки микшера при использовании ALSA? Как сделать, чтобы они восстанавливались?

Для сохранения настроек выполните команду

user@linux# /usr/sbin/alsactrl store

А чтобы они восстанавливались (и записывались) нужно, чтобы в ваших инициализационных скриптах стартовал демон alsasound. Устанавливается он вместе с alsa-driver.

В дистрибутивах Fedora Core запись и восстановление настроек прописано двумя строчками в /etc/modules.conf (/etc/modprobe.conf), например:

install snd-intel8x0 /sbin/modprobe --ignore-install snd-intel8x0 && /usr/sbin/alsactl restore >/dev/null 2>&1 ¦¦ :
remove snd-intel8x0 { /usr/sbin/alsactl store >/dev/null 2>&1 ¦¦ : : }; /sbin/modprobe -r --ignore-remove snd-intel8x0

Уберите эти строчки и установите демон alsasound (его можно взять, например, в пакете alsa-driver с www.alsaproject.org). Это позволит нормально выгружать драйверы в случае необходимости.

17.30 Как сделать программное микширование с ALSA на картах, не поддерживающих аппаратное?

Кидаем в /etc такой конфиг (назвается asound.conf)

/etc/asound.conf:

pcm.!default {
    type plug
    slave.pcm "dmixer"
}
 
pcm.dsp0 {
    type plug
    slave.pcm "dmixer"
}
 
pcm.dmixer  {
    type dmix
    ipc_key 1024
    slave {
        pcm "hw:0,0"
        period_time 0
        period_size 1024
        buffer_size 8192
        #buffer_size 32768
        #periods 128
        rate 44100
    }
    bindings {
        0 0
        1 1
    }
}
 
ctl.mixer0 {
    type hw
    card 0
}

За ответ спасибо McMcc. Готовый файл лежит на http://mcmcc.bat.ru/mypatches/asound.conf

17.31 Q: Что за ошибка FATAL: Error running install command for sound_slot_0?

Есть три варианта - простой, сложный, очень сложный.

17.32 Как подключить wireless-карточку?

Желающим сделать это - прямая дорожка на Yandex.ru & Google.com со словами "настройка wireless linux" на устах. Проверено - информации вполне достаточно.

Пример для Planet ???. Эта карта собрана на базе чипа acx100.

Для начала смотрим что у на есть:

root@linux:~# lspci
...
00:0a.0 Network controller: Texas Instruments ACX 100 22Mbps Wireless Interface
...

Да, устройство с чипом acx100 в системе имеется. Идем дальше.

root@fhome:~# cd /lib/modules/
root@fhome:/lib/modules# mkdir acx100_fmwe
root@fhome:/lib/modules# cd ./acx100_fmwe/
root@fhome:/lib/modules# tar -xvzf ~/acx100/acx100_firmware.tar.gz
root@fhome:/lib/modules/acx100_fmwe# cd ../2.4.22/kernel/drivers/net/
root@fhome:/lib/modules/2.4.22/kernel/drivers/net# tar -xvzf ~/acx100/acx100_pci-v0.2.0pre7-2.4.22.tar.gz

Этими командами мы установили в систему модуль acx100_pci, собранный под ядро 2.4.22 и firmware, необходиое для его работы.

Для того, чтоб модуль загружался во время старта правим /etc/modules.conf.

/etc/modules.conf:
alias eth0 acx100_pci
options acx100_cpi use_eth_name=1 debug=0x01 formware_dir=/lib/modules/acx100_fmwe
post-install acx100_pci /etc/rc.d/rc.acx100_pci

Первая строка - объявляем псевдоним eth1 для беспроводного устройства (у меня eth0 уже есть)

Вторая - устанавливаем параметры, без которых модуль не загрузится.

Третья - указываем, что после загрузки модуля нужно запустить скрипт /etc/rc.d/rc.acx100_pci, в котором производится настройка беспроводного соединения.

Далее:

root@fhome:~# depmod -a
root@fhome:~# grep acx100_pci /lib/modules/2.4.22/modules.pcimap
acx100_pci           0x0000104c 0x00008400 0xffffffff 0xffffffff 0x00000000 0x00000000 0x00000000
acx100_pci           0x0000104c 0x00008401 0xffffffff 0xffffffff 0x00000000 0x00000000 0x00000000
acx100_pci           0x0000104c 0x00009066 0xffffffff 0xffffffff 0x00000000 0x00000000 0x00000000

Модуль нормально установился. Пробуем его загрузить:

root@fhome:~# modprobe acx100_pci

Если получилось что-то такое:

/lib/modules/2.4.22/kernel/drivers/net/acx100_pci.o: init_module: No such device/lib/modules/2.4.22/kernel/drivers/net/acx100_pci.o: Hint: insmod errors can be
caused by incorrect module parameters, including invalid IO or IRQ parameters.
      You may find more information in syslog or the output from dmesg
/lib/modules/2.4.22/kernel/drivers/net/acx100_pci.o: insmod /lib/modules/2.4.22/kernel/drivers/net/acx100_pci.o failed
/lib/modules/2.4.22/kernel/drivers/net/acx100_pci.o: insmod acx100_pci failed

Это либо нету устройства в системе, либо в /etc/modules.conf ошибка и "options acx100_pсi" это "options acx100_cpi" например, или... что-то еще :)

Если все прошло нормально, проверяем, загрузился ли модуль:

root@fhome:~# lsmod|grep acx100_pci
acx100_pci            124512   0  (unused)

17.33 Как узнать температуру процессора, чипсета? Как настроить lm_sensors?

Нужно установить и настроить lm sensors.

Пакет lm_sensors входит практически в любой дистрибутив. Документация к нему идет подробная.

Чтобы установить lm_sensors в общем случае нужно:

Температуру в консоли можно посмотреть, набрав sensors.

В графическом режиме температуру можно снять с помощью gkrellm.

17.34 Могу ли я посмотреть температуру своего жесткого диска?

Конечно. Утилита называется hddtemp. Прямо на сайте помимо тарбола выложены пакеты для Gentoo, Debian, Alt Linux, Redhat/Fedora Core, Slackware.

Там же можно взять плагин для gkrellm, показывающий температуру.

17.35 Чем протестировать оперативную память?

Программой memtest86. Обычно она входит в состав большинства дистрибутивов, а также в rescue-часть.

17.36 Как протестировать процессор под нагрузкой (например, если он разогнан)?

Есть программа под названием cpuburn и еще одна cpuburn-in.

Читаете ридми, собираете, запускаете. Ждете минут сорок.

Есть тест прошел, запускаете quake 3, который известен вылетами на нестабильном железе в linux - минут сорока должно хватить. Обычно вылетает на пятнадцатой-двадцатой минуте.

Далее ставите на сборку что-нибудь, что у вас раньше нормально собиралось. Сначала ядро. Потом какой-нить kdelibs.

Если не вылетит, тогда можно на случай атомной войны попробовать пожать что-нить огромное rar'ом.

Если все это работает, значит система стабильна.

17.37 Какую взять видеокарточку под linux - ATI или Nvidia?

ATI хорошие карты, у них отличное 2D, но поддержка у них отвратительная - драйверы под linux выходят поздно, не успевая за появлением новых возможностей X-серверов и ядер. Поэтому топовые карты, поддержка которых осуществляется силами ATI, зачастую не могут показать свой потенциал. Хорошо, если они вообще работают на более-менее новом дистрибутиве. Старые карты поддерживаются силами сообщества, так как ATI отдает разработку драйверов под такие карты проекту DRI. И они работают хорошо.

Думаю, никому не нужно напоминать о ситуации с Doom III, который уже два месяца как вышел под Windows и более недели работает в linux, а на карточках ATI запустить его по-прежнему нельзя (а в windows требуется наложить на игру отдельный патч, чтобы достичь нормальной производительности).

В ближайшем будущем ATI, согласно ее заявлению, не собирается улучшать свою поддержу драйверов под linux.

Nvidia тоже не всегда успевает за новыми возможностями, но они выпускают драйверы практически вслед за драйверами под Windows, не ограничивают их возможности, стараются писать их с учетом возможностей и особенностей современных ядер linux. Драйвера ставятся просто и поддерживают весь спектр современных карт, независимо от того, riva tnt это или Geforce 6800 (на момент написания этих строк данная карточка последняя в линейке).

Посему если вам нужно 3D (быстрое 3D) и вы хотите стабильной поддержки от производителя, берите nvidia.


Next Previous Contents