Howdy folks:
I am having difficulty configuring Kubuntu 8.10 to recognize my Calcomp DrawingBoard III digitizing board as an XInput device and I need some help. I am using the Linux calcomp driver written for this hardware (package xserver-xorg-input-calcomp) and presumably the version compiled for the latest kernel: I installed it from konsole with
sudo apt-get install xserver-xorg-input-calcomp
Before getting into too many details, I have thusfar traced the
issue to a timeout error during loading of the driver that appears in /var/log/Xorg.0.log:
Snipped from /var/log/Xorg.0.log:
.
.
.
(II) Calcomp SetupProc called
(**) Option "Device" "/dev/ttyS0"
(II) CALCOMP driver: Serial device opened
(**) Option "MinX" "00000"
(**) Option "MaxX" "36000"
(**) Option "MinY" "00000"
(**) Option "MaxY" "24000"
(II) options read MaxX=36000, MaxY=24000
(WW) Timeout while reading Calcomp tablet. No tablet connected
(EE) Unable to query/initialize CALCOMP hardware.
(EE) Calcomp setup failed, unloading tablet driver
(II) UnloadModule: "calcomp"
(EE) PreInit returned NULL for "DrawingBoard"
.
.
.
UPDATE 03/12/2009: Since posting this query, I've made progress on documenting the problem: Upon starting X, when the calcomp driver loads, it initializes bits in the digitizing board's two internal hardware configuration banks, but when it does so, it sets an invalid parity option. As discussed below (see also Detail #4 later), there are three hardware configuration bits that define the parity options in the board's internal configuration "Bank B", keys (or bits) 4,5,6:
Parity
Option:
None 100
Mark 011
Even 010
Odd 000
When the calcomp driver loads up, it sets the Bank B, bits 4,5,6 to 111. According to Page 14 of the Calcomp DrawingBoard III help manual (http://www.gtcocalcomp.com/files/dbiii.pdf), this is not a valid parity option.
Is the calcomp driver broken?
I've searched online for more than a week to find a solution. My only find was a deadthread with no reported solution:
http://lists.debian.org/debian-x/2006/04/msg00329.html
Here are some relevant details:
Detail #1) xorg.conf: As noted in the Kubuntu Forum Announcement "Review the Register"
(http://kubuntuforums.net/forums/inde...opic=3098947.0),
/etc/X11/xorg.conf was eliminated in the latest version of X.org. I created an xorg.conf
from scratch and, as indicated in /var/log/Xorg.0.log, it was recognized and read-in when I
restarted X.
The salient "calcomp" sections of my xorg.conf file are:
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Default Screen" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "DrawingBoard" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail" "true"
EndSection
Section "InputDevice"
Identifier "DrawingBoard"
Driver "calcomp"
Option "Device" "/dev/ttyS0"
Option "Cursor" "Puck"
Option "AlwaysCore" "on"
Option "MinX" "00000"
Option "MinY" "00000"
Option "MaxX" "36000"
Option "MaxY" "24000"
Option "Mode" "Absolute"
Option "DeviceName" "TABLET"
Endsection
Detail #2) I can confirm that the digitizing tablet hardware can talk to serial port /dev/ttyS0.
Firstly, the digitizing board "beeps" and the board's internal configuration modes appear to be
automatically altered by the initializing calcomp driver whenever I restart X.
Secondly, if I "cat /dev/ttyS0" on konsole and then move the digitizer puck around on the board
and push buttons on the puck, on the konsole I get a series of ascii strings in response that
change accordingly with new positions and new buttons clicks.
Thirdly, I have used the digitizing board before in a manually-set communication mode that sends
position coordinates and button clicks to my home-brewed FORTRAN programs. I have confirmed, again with "cat /dev/ttyS0", that sensible signals are being sent when I use this manual configuration.
Detail #3) I have not previously attempted to use this hardware and the calcomp driver as an XInput
device on any earlier release of Kubuntu or any other flavor of Linux.
I am testing this stuff out on an old piece of computer hardware (Dell OptiPlex GXa) before moving it
to and interupting one of my active work machines.
Detail #4) [Added 03/12/2009] The digitizing board hardware can be configured via two 18 value (on/off) banks of programmable hardware bits. They can be manually set with the cursor, or they can be programmed from software. I was able to manually examine the configuration bits set by the calcomp driver on initialization. Upon starting X, the driver loads the following configuration bit values into to two banks:
Bank A: 010101111101011111
Bank B: 001111000000000001
I looked these up in the Calcomp help manual.
Bank A values are completely valid. They correspond to
operating mode: point
increment mode: 1
prompt mode: off
data rate: 125 pps
resolution: 1000 lpi
format: GTCO DP5 Hi Res
data/stop bits: on
At least one set of the Bank B values is invalid
baud rate: 9600
parity: INVALID VALUE (111 -- see above)
corded frequency: low
Summagraphics MM or CalComp 2000 commands: use commands
ESC for 9X00 commands: do not use ESC
Send data out of proximity: no data out of proximity
pressure pen data: off
pen height data: off
pen tilt data: off
pen tilt correction: off
changing tablet to mouse mode: no mouse
setting proximity high
CTS line enable on
-------------------------------------------------------------------------------------
Can anyone offer a solution or at least some insight?
Does the calcomp driver need to be fixed?
I'm not a Linux expert...
Do I need to manually set something up in /etc/hal and/or /etc/init.d or anywhere other than /etc/X11/xorg.conf? If so, please point me in the right direction!
Many thanks,
paulhelf
I am having difficulty configuring Kubuntu 8.10 to recognize my Calcomp DrawingBoard III digitizing board as an XInput device and I need some help. I am using the Linux calcomp driver written for this hardware (package xserver-xorg-input-calcomp) and presumably the version compiled for the latest kernel: I installed it from konsole with
sudo apt-get install xserver-xorg-input-calcomp
Before getting into too many details, I have thusfar traced the
issue to a timeout error during loading of the driver that appears in /var/log/Xorg.0.log:
Snipped from /var/log/Xorg.0.log:
.
.
.
(II) Calcomp SetupProc called
(**) Option "Device" "/dev/ttyS0"
(II) CALCOMP driver: Serial device opened
(**) Option "MinX" "00000"
(**) Option "MaxX" "36000"
(**) Option "MinY" "00000"
(**) Option "MaxY" "24000"
(II) options read MaxX=36000, MaxY=24000
(WW) Timeout while reading Calcomp tablet. No tablet connected
(EE) Unable to query/initialize CALCOMP hardware.
(EE) Calcomp setup failed, unloading tablet driver
(II) UnloadModule: "calcomp"
(EE) PreInit returned NULL for "DrawingBoard"
.
.
.
UPDATE 03/12/2009: Since posting this query, I've made progress on documenting the problem: Upon starting X, when the calcomp driver loads, it initializes bits in the digitizing board's two internal hardware configuration banks, but when it does so, it sets an invalid parity option. As discussed below (see also Detail #4 later), there are three hardware configuration bits that define the parity options in the board's internal configuration "Bank B", keys (or bits) 4,5,6:
Parity
Option:
None 100
Mark 011
Even 010
Odd 000
When the calcomp driver loads up, it sets the Bank B, bits 4,5,6 to 111. According to Page 14 of the Calcomp DrawingBoard III help manual (http://www.gtcocalcomp.com/files/dbiii.pdf), this is not a valid parity option.
Is the calcomp driver broken?
I've searched online for more than a week to find a solution. My only find was a deadthread with no reported solution:
http://lists.debian.org/debian-x/2006/04/msg00329.html
Here are some relevant details:
Detail #1) xorg.conf: As noted in the Kubuntu Forum Announcement "Review the Register"
(http://kubuntuforums.net/forums/inde...opic=3098947.0),
/etc/X11/xorg.conf was eliminated in the latest version of X.org. I created an xorg.conf
from scratch and, as indicated in /var/log/Xorg.0.log, it was recognized and read-in when I
restarted X.
The salient "calcomp" sections of my xorg.conf file are:
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Default Screen" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "DrawingBoard" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail" "true"
EndSection
Section "InputDevice"
Identifier "DrawingBoard"
Driver "calcomp"
Option "Device" "/dev/ttyS0"
Option "Cursor" "Puck"
Option "AlwaysCore" "on"
Option "MinX" "00000"
Option "MinY" "00000"
Option "MaxX" "36000"
Option "MaxY" "24000"
Option "Mode" "Absolute"
Option "DeviceName" "TABLET"
Endsection
Detail #2) I can confirm that the digitizing tablet hardware can talk to serial port /dev/ttyS0.
Firstly, the digitizing board "beeps" and the board's internal configuration modes appear to be
automatically altered by the initializing calcomp driver whenever I restart X.
Secondly, if I "cat /dev/ttyS0" on konsole and then move the digitizer puck around on the board
and push buttons on the puck, on the konsole I get a series of ascii strings in response that
change accordingly with new positions and new buttons clicks.
Thirdly, I have used the digitizing board before in a manually-set communication mode that sends
position coordinates and button clicks to my home-brewed FORTRAN programs. I have confirmed, again with "cat /dev/ttyS0", that sensible signals are being sent when I use this manual configuration.
Detail #3) I have not previously attempted to use this hardware and the calcomp driver as an XInput
device on any earlier release of Kubuntu or any other flavor of Linux.
I am testing this stuff out on an old piece of computer hardware (Dell OptiPlex GXa) before moving it
to and interupting one of my active work machines.
Detail #4) [Added 03/12/2009] The digitizing board hardware can be configured via two 18 value (on/off) banks of programmable hardware bits. They can be manually set with the cursor, or they can be programmed from software. I was able to manually examine the configuration bits set by the calcomp driver on initialization. Upon starting X, the driver loads the following configuration bit values into to two banks:
Bank A: 010101111101011111
Bank B: 001111000000000001
I looked these up in the Calcomp help manual.
Bank A values are completely valid. They correspond to
operating mode: point
increment mode: 1
prompt mode: off
data rate: 125 pps
resolution: 1000 lpi
format: GTCO DP5 Hi Res
data/stop bits: on
At least one set of the Bank B values is invalid
baud rate: 9600
parity: INVALID VALUE (111 -- see above)
corded frequency: low
Summagraphics MM or CalComp 2000 commands: use commands
ESC for 9X00 commands: do not use ESC
Send data out of proximity: no data out of proximity
pressure pen data: off
pen height data: off
pen tilt data: off
pen tilt correction: off
changing tablet to mouse mode: no mouse
setting proximity high
CTS line enable on
-------------------------------------------------------------------------------------
Can anyone offer a solution or at least some insight?
Does the calcomp driver need to be fixed?
I'm not a Linux expert...
Do I need to manually set something up in /etc/hal and/or /etc/init.d or anywhere other than /etc/X11/xorg.conf? If so, please point me in the right direction!
Many thanks,
paulhelf
Comment