[Armadillo:03891] Re: Quixunのタッチパネルで同じ座標データしか読めない

email@hidden
2009年 1月 11日 (日) 01:54:26 JST


zzztakemituです。

【質問】
>> tkUSBという名前で追加されたが、
>insmodでモジュールのインストールはできたが、

>> デバイス認識してくれない。
>USBポートにQT-702を挿しても、dmesgに何も表示されない

という意味合いでしょうか?

【回答】
insmodでモジュールのインストールとありますが、
その方法は使用しておりません。
下記に行った手順を記しました。

USBポートにQT-702を挿すと下記メッセージが出ます。
usb 1-1.3: new low speed USB device using ep93xxusb and address 5
input: USB HID v1.12 Pointer [eGalax Inc. Touch] on 

しかしながら、QT-701のドライバと同じ現象になります。

[email@hidden (ttyAM0) ~]# mknod /dev/input/ts0 c 13 128
[email@hidden (ttyAM0) ~]# cat /dev/input/ts0 |od -x
0000000     0001    fff4    ffef    1e94    0001    fff4    ffef    

1f83

---------------------------------------------
下記の手順で行いました。
1、クイックサンのサイトからドライバを入手
 LINUX用/約11MB/ZIP形式
 <http://www.quixun.co.jp/support/qt-702.html>
2、ファイルを解凍
 Kernel_2.6 の中のTouchKit-1/08.1227-32b-k26.tar.gzを解凍
 [PC]$ tar zxvf TouchKit-1/08.1227-32b-k26.tar.gz
3、MakeFileの置き換え
 TouchKit-USBSrc-Makefileは使用せずに、atmark-dist-開発者ガイドを参考

に作成したものに置き換え。
atmark-dist 開発者ガイド 44ページ
<http://armadillo.atmark-techno.com/files/downloads/dist/atmark-dist_d

evelopers_guide_ja-1.0.4.pdf>

作成したMakefileの内容

MODULES = tkusb.o

ifneq ($(KERNELRELEASE),)

obj-m := $(MODULES)
#CFLAGS_MODULE += -DDEBUG

else

ROOTDIR ?= 

/home/zzztakemitu/Desktop/work/20081022/atmark-dist-20081022

ROMFSDIR = $(ROOTDIR)/romfs

include $(ROOTDIR)/.config
include $(ROOTDIR)/config.arch

MAKEARCH = $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE)

LINUXDIR = $(CONFIG_LINUXDIR)
KERNELRELEASE = ${shell make -sc $(ROOTDIR)/$(LINUXDIR) kernelrelease}

all: modules romfs

modules:

	$(MAKEARCH) -C $(ROOTDIR)/$(LINUXDIR) M=${shell pwd} modules

romfs:
	make -C $(ROOTDIR) INSTALL_MOD_DIR=kernel/drivers/usb/input \
	M=${shell pwd} modules_install
	$(ROOTDIR)/user/busybox/examples/depmod.pl -b \
	$(ROMFSDIR)/lib/modules/$(KERNELRELEASE) &> /dev/null

clean:
	-rm -f *.[oas] *.ko *.mod.c .*.d .*.tmp .*.cmd *.symvers
	-rm -rf .tmp_versions

distclean: clean
	-rm -f *-

endif

4、ビルド
[PC /USBSrc]$ make modules 
同じフォルダに下記ファイルが生成
 tkusb.ko
  tkusb.o
  tkusb.mod.o

5、インストール
[PC /USBSrc]$ make romfs
atmark-dist内のromfs/lib/modules/[version]/kernel/drivers/usb/inputの

中にtkusb.koが入っていることを確認。

6、Imageファイルの作成
[PC /atmark-dist]$ make image

7、ディレクトリ追加
ソースコードとヘッダファイルを

atmark-dist/linux-2.6.x/drivers/usb/inputに下記をコピー
 includeフォルダ
 mkmodule.cmd
 tkusb.c
 tkusb.h
 tkusb.mod.c
 tkusb_dbg.h

Kconfigを編集
 追加
config TKUSB
	tristate "TKUSB"
	depends on USB && INPUT

Makefaleを編集
 追加
obj-$(CONFIG_TKUSB) += tkusb.o

[PC /atmark-dist]$ make menuconfig
 Device Drivers --->
	Input device support --->
		<*>Touchscreen interface
		(600) Horizonal screen resolution
		(800) Vertical screen resolution
	USB support --->
		<*>USB Human Interface Device(full HID) support
		[*]HID input layer support
		[ ]eGalax TouchKit USB Touchscreen Driver(これはOFF)
		[*]tkusb(NEW)

[PC /atmark-dist]$ make 

8、hermit にてImageファイル書き込み
romfs.img とlinux.bin.gz

9、armadillo-9を再起動

Hermit-At v1.1.17 (armadillo9) compiled at 15:20:39, Apr  9 2008
hermit> b
Uncompressing  

kernel...........................................................Uncom

pressing 

ramdisk...........................................................Doin

g video=ep93xxfb:CRT-800x600,24bpp
Doing console=ttyAM0,115200
Doing 

mtdparts=armadillo9-nor:0x10000(bootloader)ro,0x170000(kernel),0x67000

0(u)Linux version 2.6.12.3-a9-14 (email@hidden) (gcc 

version 4.1.2 200619CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Machine: Armadillo-9
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists
Kernel command line: video=ep93xxfb:CRT-800x600,24bpp 

console=ttyAM0,115200 mtd)PID hash table entries: 512 (order: 9, 8192 

bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 32MB 32MB = 64MB total
Memory: 55580KB available (2313K code, 573K data, 100K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...it isn't (bad gzip magic numbers); 

looks like dFreeing initrd memory: 6144K
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
NetWinder Floating Point Emulator V0.97 (double precision)
devfs: 2004-01-31 Richard Gooch (email@hidden)
devfs: boot_options: 0x0
Console: switching to colour frame buffer device 100x37
fb0: EP93xx frame buffer at 800x600x24
ttyAM0 at MMIO 0x808c0000 (irq = 52) is a EP93XX
ttyAM1 at MMIO 0x808d0000 (irq = 54) is a EP93XX
ttyAM2 at MMIO 0x808e0000 (irq = 55) is a EP93XX
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
i2c /dev entries driver
i2c-armadillo9: i2c Armadillo-9 driver, (C) 2004-2007 Atmark Techno, 

Inc.
i2c-at24cxx: i2c at24cxx eeprom driver, (C) 2003-2005 Atmark Techno, 

Inc.
i2c-s3531a: Device Type [S-353x0A]
i2c-s3531a: i2c S-3531A/S-353X0A driver, (C) 2001-2005 Atmark Techno, 

Inc.
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with 

idebus=xx
No card in slot: PFDR=000000ff
armadillo9-nor: Found 1 x16 devices at 0x0 in 16-bit bank
 Amd/Fujitsu Extended Query Table at 0x0040
armadillo9-nor: CFI does not contain boot bank location. Assuming top.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code 

brokenness.
4 cmdlinepart partitions found on MTD device armadillo9-nor
parse_mtd_partitions:4
Creating 4 MTD partitions on "armadillo9-nor":
0x00000000-0x00010000 : "bootloader"
0x00010000-0x00180000 : "kernel"
0x00180000-0x007f0000 : "userland"
0x007f0000-0x00800000 : "config"
ep93xxusb ep93xxusb.0: EP93xx OHCI
ep93xxusb ep93xxusb.0: new USB bus registered, assigned bus number 1
ep93xxusb ep93xxusb.0: irq 56, io base 0xff020000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
usbcore: registered new driver audio
drivers/usb/class/audio.c: v1.0.0:USB Audio Class driver
Initializing USB Mass Storage driver...
usb 1-1: new full speed USB device using ep93xxusb and address 2
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 7 ports detected
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
usb 1-1.2: new low speed USB device using ep93xxusb and address 3
input: USB HID v1.10 Keyboard [  USB Keyboard] on usb-ep93xxusb.0-1.2
input: USB HID v1.10 Device [  USB Keyboard] on usb-ep93xxusb.0-1.2
usb 1-1.3: new low speed USB device using ep93xxusb and address 4
input: USB HID v1.12 Pointer [eGalax Inc. Touch] on 

usb-ep93xxusb.0-1.3
usbcore: registered new driver TouchKit
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for 

Generic
usbcore: registered new driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
mice: PS/2 mouse device common for all mice
ts: Compaq touchscreen protocol output
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
ip_tables: (C) 2000-2002 Netfilter core team
NET: Registered protocol family 1
NET: Registered protocol family 17
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 6144KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 100K
init started:  BusyBox v1.00 (2009.01.03-15:25+0000) multi-call binary
Starting fsck for root filesystem.
fsck 1.25 (20-Sep-2001)
ext2fs_check_if_mount: No such file or directory while determining 

whether /dev./dev/ram0: clean, 684/1024 files, 4317/6144 blocks
Checking root filesystem: done
Remounting root rw: done
Mounting proc: done
Mounting usbfs: done
Cleaning up system: done
Running local start scripts.
Changing file permissions: done
Configure /home/ftp: done
Starting syslogd: done
Starting klogd: done
Starting basic firewall: done
Loading /etc/config: done
Setting hostname: done
Configuring network interfaces: info, udhcpc (v0.9.9-pre) started
debug, Sending discover...
debug, Sending select for 192.168.1.13...
info, Lease of 192.168.1.13 obtained, lease time 604800
done
Starting thttpd: done
Starting inetd: done
done

atmark-dist v1.21.0 (AtmarkTechno/Armadillo-9)
Linux 2.6.12.3-a9-14 [armv4tl arch]

a9-0 login: root
Password:
[email@hidden (ttyAM0) ~]# usb 1-1.3: USB disconnect, address 4
usb 1-1.3: new low speed USB device using ep93xxusb and address 5
input: USB HID v1.12 Pointer [eGalax Inc. Touch] on 

usb-ep93xxusb.0-1.3

[email@hidden (ttyAM0) ~]# mknod /dev/input/ts0 c 13 128
[email@hidden (ttyAM0) ~]# cat /dev/input/ts0 |od -x
0000000     0001    fff4    ffef    1e94    0001    fff4    ffef    

1f83
0000020     0001    fff4    ffef    1fd4    0001    fff4    ffef    

2074
0000040     0001    fff4    ffef    20c4    0001    fff4    ffef    

2164
0000060     0001    fff4    ffef    21b4    0000    fff4    ffef    

2254
0000100     0001    fff4    ffef    0c72    0000    fff4    ffef    

0cc2
0000120     0001    fff4    ffef    0db1    0001    fff4    ffef    

0ea0
0000140     0001    fff4    ffef    0ef1    0001    fff4    ffef    

0f90
0000160     0001    fff4    ffef    0fe1    0000    fff4    ffef    

1031
0000200     0001    fff4    ffef    030f    0001    fff4    ffef    

03af
0000220     0001    fff4    ffef    044f    0001    fff4    ffef    

049f
0000240     0001    fff4    ffef    053f    0000    fff4    ffef    

0590












armadillo メーリングリストの案内