1 Отредактировано warezzzok (18-07-2010 02:17:39)

Тема: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

Наконец-то снова решил скомилить драйвер для геймпада (последний пост отсюда)
Домго мучил установку скратчбокса, вроде настроил, но попутно грохнул систему, после чего снова все ставить просто надоело. Решил на таблетке все сделать, вроде как попроще. Ага.
Поставил компилятор, как в этом факе, потом еще кучу всего, чего не хватало.
сейчас получается вот такая картинка:
[spoiler]/media/mmc1 # gcc-3.4 usbgp.c -o usbgp
/tmp/ccT6n4Xu.o: In function `read_device'
:usbgp.c:(.text+0x2c): undefined reference to `XOpenDisplay'
:usbgp.c:(.text+0x1b8): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x1d0): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x1e0): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x1f8): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x250): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x268): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x278): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x290): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x2e8): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x300): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x310): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x328): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x330): undefined reference to `XFlush'
:usbgp.c:(.text+0x3a8): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x3c0): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x3c8): undefined reference to `XFlush'
:usbgp.c:(.text+0x400): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x418): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x420): undefined reference to `XFlush'
:usbgp.c:(.text+0x464): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x47c): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x484): undefined reference to `XFlush'
:usbgp.c:(.text+0x4a4): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x4bc): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x4c4): undefined reference to `XFlush'
:usbgp.c:(.text+0x540): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x558): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x560): undefined reference to `XFlush'
:usbgp.c:(.text+0x598): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x5b0): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x5b8): undefined reference to `XFlush'
:usbgp.c:(.text+0x5fc): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x614): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x61c): undefined reference to `XFlush'
:usbgp.c:(.text+0x63c): undefined reference to `XKeysymToKeycode'
:usbgp.c:(.text+0x654): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x65c): undefined reference to `XFlush'
collect2: ld returned 1 exit status
/media/mmc1 #

[/spoiler]
Я понимаю, что или что-то не доставил до конца, но что конкретно не знаю, или не полные исходники, но тогда где брать остальное я хз.
просить кого-то откомпилить не хочу - т.к геймпад достаточно экзотичен, имеет свои сканкоды какие-то. надо эксперементировать - за 1-2 прохода врядли удастся заставить работать все кнопки как надо, по тому и хотел сам все делать smile

n810

2

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

Добавьте к команде -lX11 -lXext

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

3

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

Вчера пытал гугел, он мне тож посоветовал -|X11, но без  -lXext.
В гугловом варианте пишет

/bin/sh: X11: Premission denied
gcc-3.4: -E or -x required when input is from standart input

с вашими параметрами еще добаляет
/bin/sh: Xext: not found

Если ввести gcc-3.4 usbgp.c -E -o usbgp -|X11, то после X11: Premission denied консоль ничего не выводит, тупо каретка перескакивает на следующую строку и строка остается пустой, без приглашения. Вырубается по ctrl+с

Если написать так:  gcc-3.4 usbgp.c -x -o usbgp -|X11 то получает следующее:

gcc-3.4: usbgp: No such file or directory
/bin/sh: X11: Premission denied
gcc-3.4: language -o not recognized
n810

4

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

Там не вертикальная черта, а строчная буква L. А xext действительно можно убрать, у вас там вроде не упоминаются функции оттуда

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

5

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

Ахах))) Точно )))
Теперь ошибок стало гораздо меньше, но остались smile

/media/mmc1 # gcc-3.4 usbgp.c -o usbgp -lX11
/tmp/ccoDv15r.o: In function `read_device'
:usbgp.c:(.text+0x1d0): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x1f8): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x268): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x290): undefined reference to `XTestFakeKeyEvent'
:usbgp.c:(.text+0x300): undefined reference to `XTestFakeKeyEvent'
/tmp/ccoDv15r.o:usbgp.c:(.text+0x328): more undefined references to `XTestFakeKeyEvent' follow
collect2: ld returned 1 exit status
/media/mmc1 #

УПД. Все, нашел. добавил -lXtst и все прошло. правда не выдало никаких сообщений. Просто появилас коммандная строка. Ща будем пробовать коннектиться к джойстику.

n810

6

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

Если компилятор ничего не выводит -- это значит что всё прошло без ошибок smile

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

7

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

есть ли вариант что готовый и скоприлированный usbgp  будет работать с моим дроистиком?
просто нехочу компилить?
если есть вожможность прошу выложить готовы usbgp

n810

8

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

Вот скомпилированный из исходников из ссылки в 1 посте. У меня запускаеся, но мой джойстик (genius pandora maxfire pro) таблетка не видит.
Надо править исходники, но я немогу посмотреть сканкоды клавиш. Ни одна прога под вендой, известная мне, не читает их с геймпада (мож кто подскажет?), можно Xev'ом, но у меня щас нет линукса живого, а нокиевский ксев не видит нихрена sad

Как вариант, я пподключал когда-то какой-то логитек и свой ДВтек через joydev.ko, работало хорошо даже без бубна и шаманства. Если вариант с usbgp не прокатит, попробуйте джойдев.

Post's attachments

Attachment icon usbgp 13.99 kb, 246 downloads since 2010-07-18 

n810

9

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

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

gamepad ioctl
couldn't aquire version

В коде драйвера это есть в 1 месте только:

     if( ioctl( fd, EVIOCGVERSION, &version ) )
   {
      printf( "couldn't aquire version\n" );
      exit(0);
   }

нол что это щначит - я понять не могу, если честно. какое там условие не соблюдается?

n810

10

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

ioctl это запрос к устройству. fd -- дескриптор устройства, EVIOCGVERSION -- код запроса. Если ioctl возвращает не 0, значит запрос провалился. Скорее всего это означает, что либо запрос делается не к тому устройству, либо у устройства не тот драйвер

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

11 Отредактировано arlekino1990 (18-07-2010 22:10:25)

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

warezzzok пишет:

Как вариант, я пподключал когда-то какой-то логитек и свой ДВтек через joydev.ko

я пробовал такой вариант.
делпал по интсрукции тут http://torsten-traenkner.de/wissen/n810/index.php
1.скопировал joydev.ko  в /home/user/MyDocs/.documents/
2.insmod joydev.ko
3.dmesg
первые 2 команды удачно, но на последнем я запоролся тк мой н810 пишет что hexdump not found

в snes джоупад не рабоет=(




с выложенной выше юсбгп в snes я решил поменять управление, и выяснил что кнопку 1 воспринимает как m , 2 как j, остальные 6 кнопок не работают, работает еще вниз и вправо, а вверх и влево не работает.

при этом, если нажимать кнопки разные , в хтерм идет лог, при  нажатии каждоц кнопки, тоесть сигнал доходить

n810

12

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

А вот у меня не доходит вообще никакого сигнала от геймпада... чет ему не хватат... Причем именно на джойстике гениус.

n810

13

Re: Пытаюсь компилить на таблетке. Чего-то не хватает - куча ошичок

Подниму старую тему.
Собираю usbgp, все собирается, все работает. Но есть вопрос - где имена клавиш брать? XK_Return в исходном коде было, а на XK_Escape оно не реагирует, например, и на KP_что-то тоже. Отцы, что туда писать то???