Я установил Kubuntu 13.04 (64-разрядный) на моей новой Fujitsu LifeBook P1630, и добавил всего несколько пакетов:
Сначала aptitude
, затем я сделал aptitude update && safe-upgrade
, затем xinput-calibrator
(который, кажется, работает, за исключением того, что я должен выполнить его снова каждый раз, когда я перезапускаю систему), затем gcc
, make
, build-essential
, checkinstall
, binutils
, и linux-source
.
Затем я загрузил файл cybergene-fujitsu-usb-touchscreen-112fdb75b406.zip, который связан от страницы https://bitbucket.org/cybergene/fujitsu-usb-touchscreen/overview (я предполагаю, что это - неуловимый v0.3.9, который, кажется, не связан под тем именем ниоткуда); я извлек его содержание к каталогу ~/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406
и предпринятый для выполнения make
. Консоль (er, Konsole) трассировка ниже:
archelon@ingelrayok:~/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406$ make
make -C /lib/modules/3.8.0-30-generic/build M=/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406 modules
make[1]: Entering directory `/usr/src/linux-headers-3.8.0-30-generic'
CC [M] /home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.o
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c: In function ‘usb_u810_tablet_irq’:
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:133:4: error: implicit declaration of function ‘dbg’ [-Werror=implicit-function-declaration]
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:182:3: error: implicit declaration of function ‘err’ [-Werror=implicit-function-declaration]
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c: In function ‘usb_u810_tablet_probe’:
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:246:6: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:253:6: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:263:6: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:270:6: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:277:6: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:302:5: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:358:5: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:366:5: error: called object ‘err’ is not a function
cc1: some warnings being treated as errors
make[2]: *** [/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.o] Error 1
make[1]: *** [_module_/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.8.0-30-generic'
make: *** [fujitsu_usb_touchscreen.ko] Error 2
archelon@ingelrayok:~/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406$
Я должен также отметить это make
завершается без ошибок на моем другом компьютере, Toshiba Satellite R10 рабочий Kubuntu 12.04; эта машина также имеет (полностью операционный) планшет со стилусом. (Планшетом Toshiba является Wacom с активным цифровым преобразователем в противоположность USB Fujitsu резистивный сенсорный экран). Так, вероятно, я просто пропускаю некоторый пакет или другой---, я ничего не компилировал в течение многих лет, и никогда не было особенно хорошо в нем. Возможно, можно уладить меня.
ОБНОВЛЕНИЕ: я заменил 13.04 12.04 LTS, сохранив мой / домашний раздел и теперь компиляции пакета: make
завершается без ошибок. Однако make install
не делает. [Чтобы быть точным, я работал checkinstall
(или, скорее sudo checkinstall
), который звонит make install
, потому что насколько я могу сказать, первый - простое обновление последнего (по крайней мере, в моих целях), предоставляя интеграции с системой управления пакета.] Первоначально, это перестало работать со следующей ошибкой:
make: execvp: /etc/init.d/fujitsu_touchscreen: Permission denied
make: *** [install] Error 127
После некоторого исследования я пытался использовать chmod +x
на затронутом файле:
$ sudo chmod +x /etc/init.d/fujitsu_touchscreen
Выполнение sudo checkinstall
снова, ошибка разрешения, как замечается, была разрешена; это добирается гораздо дальше вперед прежде, чем перестать работать снова. Журнал, который это предлагает печатать к stdout, показывает a dpkg
ошибка, следующим образом:
dpkg: error processing /home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/cybergene-fujitsu-usb-touchscreen-112fdb75b406_amd64.deb (--install):
unable to create `/sys/module/fujitsu/usb/touchscreen/parameters/touch_maxy.dpkg-new' (while processing `/sys/module/fujitsu/usb/touchscreen/parameters/touch_maxy'): No such file or directory
И, действительно, в то время как существует /sys/module/fujitsu_usb_touchscreen/parameters/touch_maxy
, существует нет /sys/module/fujitsu/usb/touchscreen/parameters/touch_maxy
; по-видимому, типографская ошибка была представлена где-нибудь. Таким образом я должен найти и зафиксировать его. Но к сожалению я имею очень смутное представление, где посмотреть кроме install;
раздел make-файла, и это не там. (Я понимаю, что иногда существует install
файл вместо этого? Но нет в этом случае.)... Справка?
(Так как это - совершенно отличная проблема, я задал отдельный вопрос: 'сделайте установку', перестал работать по-видимому из-за опечатки, но не в make-файле: Как найти и зафиксировать?)
ОБНОВИТЕ 18.10.2013 После переустановки Kubuntu 12.04 снова, на этот раз воссоздав / домашний раздел (который, снова, был сгенерирован во время установки 13,04), я больше не могу сразу воспроизвести странную ошибку выше. Мне все еще любопытно знать, как символы нижнего подчеркивания были изменены на наклонные черты, но выглядит, как будто ни у кого нет идеи. Это, возможно, также представляет интерес отметить это, в то время как я успешно все еще не работал checkinstall
против этого пакета я сделал make install
; это требует executabilization /etc/init.d/fujitsu_touchscreen
и установка hal
, и замораживания GUI вскоре после установки завершаются, и нет никакой особой новой функциональности впоследствии, что я заметил, и система больше не может возобновляться от того, чтобы быть приостановленным. Я впоследствии потерял интерес к fujitsu-usb-touchscreen
так как кажется, что пакет Вращения Magick может обеспечить все, что я искал. Это, однако, не работает 'out-of-the-box'; я зарегистрировал отчет об ошибках, который также документирует неэлегантное обходное решение, которое я обнаружил.
fujitsu_usb_touchscreen.c говорит, что это v0.3.9, несмотря на прилагаемый файл README с сообщением «Модуль ядра Fujitsu usb с сенсорным экраном и утилиты v0.3.5». Я ненавижу говорить это, но «это работает для меня»:
wget https://bitbucket.org/cybergene/fujitsu-usb-touchscreen/get/112fdb75b406.zip
unzip 112fdb75b406.zip
cd cybergene-fujitsu-usb-touchscreen-112fdb75b406
make
Три возможности:
Возможно, ZIP-файл поврежден? Попытаться загрузить снова и повторить шаги извлечения / создания?
Убедитесь, что у вас установлен текущий пакет linux-headers (это необходимо для входных файлов: linux / kernel.h, linux / slab.h, linux / module.h, linux / init.h, linux / usb / input.h). Например: find /usr/src/ -iname slab.h
Автор пакета говорит: «Напишите мне, если у вас возникли проблемы с установкой пакета». Вы уже пробовали это?
- умоляю: edit
Я проверял это в гостях VirtualBox. Тот, под которым он работал, был установлен с kubuntu-13.04-desktop-i386.iso некоторое время назад и, вероятно, имел некоторые дополнительные заголовки, которые делали его счастливым.
Я только что установил чистый гость из kubuntu-13.04-desktop-amd64.iso и смог воспроизвести вашу ошибку. Не уверен, что там происходит, но если в fujitsu_usb_touchscreen.c я добавляю следующие строки сразу после include, то он компилируется без ошибок:
#define dbg(args...) printk(args)
#define err(args...) printk(args)
Кроме того, функция usb_u810_tablet_probe () определяет int err
, который сбивает с толку людей против функции / макроса err()
.
Надеюсь, это поможет!