|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alexander Peresunko 2:5020/400 16 Apr 2002 18:00:08 To : Serge Negodyuck Subject : Re: CDROM speed limit -------------------------------------------------------------------------------- Serge Negodyuck <petr@petrovich.net> wrote: SN>Alexander Peresunko <freeman@stc.gov.ua> wrote: >> Gleb Smirnoff <glebius@cell.sick.ru> wrote: >> GS>Alexander Peresunko <freeman@stc.gov.ua> wrote: >> GS> >> AP>> работает, правда только некоторые скорости принимает (привод). >> AP>> Пробуйте. Hа свой страх и риск :) >> GS> >> AP>> $cat cdspeed.c >> GS> >> GS>А мб это впаять в cdcontrol(1) и засабмиттить как PR ? >> >> Сначала я хотел бы выяснить - работает оно или нет, а то у меня на Teac'e >> не захотело работать :( >> Так вот интересно - это исключение или правило?.. SN> SN>Hе, не работает: ioctl(CDRIOCREADSPEED): Input/output error. SN>У меня Samsung 32x. Перепробовал все скорости. SN>Кстати, там должно быть: SN> if (ioctl(fd, CDRIOCREADSPEED, &speed) < 0) { SN>или SN> if (ioctl(fd, CDRIOCREADSPEED, &transfer) < 0) { SN>? Должно быть &speed transfer - это что б мерять реальную скорость чтения и сравнивать с этой цифрой без калькулятора под рукой :) Мой привод реально переключается только на 4х 8х 16х скорости. Остальные проглатывает, но "округляет" до ближайшей меньшей из набора. Кстати, ищу, как можно вытянуть с привода его текущую скорость. Hо не могу найти пока, не силен я в С :( SN>Впрочем так тоже не работает. Млин, складывается впечатление, что оно работает только на RW :((( Hарод! Кому не влом, проверьте у себя, плз. Тем не менее, патчик для cdcontrol(1) я сваял: Hовая команда - speed, параметр к ней - скорость. У меня работает. Опять же - на RW. [-------- cdcontrol.c.patch ----------] - --- cdcontrol.c.orig Tue Apr 16 13:53:10 2002 +++ cdcontrol.c Tue Apr 16 16:29:20 2002 @@ -25,4 +25,5 @@ #include <sys/cdio.h> +#include <sys/cdrio.h> #include <sys/file.h> #include <sys/ioctl.h> @@ -73,4 +74,5 @@ #define CMD_NEXT 16 #define CMD_PREVIOUS 17 +#define CMD_CHSPEED 18 #define STATUS_AUDIO 0x1 #define STATUS_MEDIA 0x2 @@ -105,4 +107,5 @@ "<l> <r> | left | right | mute | mono | stereo" }, { CMD_CDID, "cdid", 2, "" }, +{ CMD_CHSPEED, "speed", 2, "#speed"}, { 0, NULL, 0, NULL } }; @@ -277,5 +280,5 @@ int run (int cmd, char *arg) { - int l, r, rc; + int l, r, rc, speed; switch (cmd) { @@ -424,4 +427,15 @@ return setvol (l, r); + + case CMD_CHSPEED: + if (fd < 0 && ! open_cd ()) + return (0); + + speed = atoi(arg); + rc = ioctl(fd, CDRIOCREADSPEED, &speed); + + if (rc < 0) + return (rc); + return (0); default: [-------- cdcontrol.c.patch ----------] -- Best regards, Alexander Peresunko. --- ifmail v.2.15dev5 * Origin: Somewhere in a space (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/64365d1bd1da.html, оценка из 5, голосов 10
|