Page 4 of 4 FirstFirst ... 234
Results 31 to 37 of 37

Thread: Tablet PC functionality in a Viewsonic V1250S

  1. #31
    Join Date
    May 2010
    Beans
    18

    Re: Tablet PC functionality in a Viewsonic V1250S

    Well! In either case I've restarted this project, again installing from scratch on 10.10 x86. No wubi install or anything, Ubuntu is the only existing OS. I've been doing quite a bit of research on the topic here, and for a while I was chasing down the prospect that the bug listed here (https://bugs.launchpad.net/ubuntu/+s...om/+bug/522318) was the cause of all my grief. However, I soon read that this fix was actually included in the xf86-input-wacom drivers install thing, so it actually made no sense to continue down that path. However, when I installed 10.10 initially, I was already receiving different results than before. Namely, it was being more specific about what was going wrong. Here's my Xorg.0.log file:
    Code:
    [    18.030] (II) config/udev: Adding input device Serial Wacom Tablet (/dev/ttyS0)
    [    18.030] (**) Serial Wacom Tablet: Applying InputClass "Wacom serial class"
    [    18.030] (II) LoadModule: "wacom"
    [    18.030] (II) Loading /usr/lib/xorg/modules/input/wacom_drv.so
    [    18.030] (II) Module wacom: vendor="X.Org Foundation"
    [    18.031] (II) Serial Wacom Tablet: type not specified, assuming 'stylus'.
    [    18.031] (II) Serial Wacom Tablet: other types will be automatically added.
    [    18.031] (**) Serial Wacom Tablet stylus: always reports core events
    [    18.031] (EE) Serial Wacom Tablet stylus: wcmWriteWait error : Input/output error
    [    18.031] (WW) Serial Wacom Tablet stylus: Query failed with 19200 baud. Trying 38400.
    [    18.031] (EE) Serial Wacom Tablet stylus: wcmWriteWait error : Input/output error
    [    18.031] (II) Serial Wacom Tablet stylus: serial tablet id 0x90.
    [    18.031] (II) UnloadModule: "wacom"
    [    18.031] (EE) PreInit returned NULL for "Serial Wacom Tablet"
    It now not only appears to be recognizing it, but at least putting a good effort into initializing the device. As evidenced in the code above, it seems that it can't quite get the baud rate right. All attempts at installing the latest and greatest xf86-input-wacom drivers, while successful, did nothing to quell this problem. So it seems to me the next logical step would be to find a way to manually set the baud rate to the appropriate figure (probably via trial and error), and that seems to mean going back to setserial.

    I also found a fun new way of using udevadm, and that is to test the ttyS0 device, showing all rules applying to it and what happens with it. Doesn't appear to give much useful info (at least to me). In any case, here's what I get when running "udevadm test /class/tty/ttyS0":
    Code:
    run_command: calling: test
    udevadm_test: version 163
    This program is for debugging only, it does not run any program,
    specified by a RUN key. It may show incorrect results, because
    some values may be different, or not available at a simulation run.
    
    parse_file: reading '/lib/udev/rules.d/40-fuse-utils.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/40-gnupg.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/40-hplip.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/40-ia64.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/40-libgphoto2-2.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/40-libsane.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/40-ppc.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/40-usb-media-players.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/40-usb_modeswitch.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/40-xserver-xorg-video-intel.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/45-fuse.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/45-libmtp8.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/50-firmware.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/55-dm.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/56-hpmud_support.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/60-floppy.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/60-persistent-alsa.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/60-persistent-serial.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/60-persistent-storage-dm.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/61-mobile-action.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/64-xorg-xkb.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/65-xorg-wacom.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/66-xorg-synaptics.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/69-xorg-vmmouse.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/69-xserver-xorg-input-wacom.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/70-acl.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/70-hid2hci.rules' as rules file
    parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
    parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/70-printers.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/75-net-description.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/75-probe_mtd.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/75-tty-description.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/77-mm-ericsson-mbm.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/77-mm-longcheer-port-types.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/77-mm-platform-serial-whitelist.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/77-mm-simtech-port-types.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/77-mm-usb-device-blacklist.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/77-mm-zte-port-types.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/78-graphics-card.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/78-sound-card.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/80-alsa.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/80-udisks.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/85-brltty.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/85-console-setup.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/85-hdparm.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/85-hplj10xx.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/85-pcmcia.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/85-regulatory.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/85-usbmuxd.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/90-libgpod.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/90-pulseaudio.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-keyboard-force-release.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-keymap.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-dell.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-fujitsu.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-gateway.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-ibm.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-lenovo.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-toshiba.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-upower-csr.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-upower-hid.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/95-upower-wup.rules' as rules file
    parse_file: reading '/lib/udev/rules.d/97-bluetooth.rules' as rules file
    parse_file: reading '/dev/.udev/rules.d/root.rules' as rules file
    udev_rules_new: rules use 233652 bytes tokens (19471 * 12 bytes), 37549 bytes buffer
    udev_rules_new: temporary index used 63140 bytes (3157 * 20 bytes)
    udev_device_new_from_syspath: device 0x218410a0 has devpath '/devices/pnp0/00:06/tty/ttyS0'
    udev_device_new_from_syspath: device 0x218592f0 has devpath '/devices/pnp0/00:06/tty/ttyS0'
    udev_device_read_db: device 0x218592f0 filled with db file data
    udev_rules_apply_to_event: LINK 'char/4:64' /lib/udev/rules.d/50-udev-default.rules:4
    udev_rules_apply_to_event: GROUP 20 /lib/udev/rules.d/50-udev-default.rules:14
    udev_device_new_from_syspath: device 0x21859858 has devpath '/devices/pnp0/00:06'
    udev_device_new_from_syspath: device 0x21859b08 has devpath '/devices/pnp0'
    udev_event_execute_rules: no node name set, will use kernel supplied name 'ttyS0'
    udev_device_update_db: created db file for '/devices/pnp0/00:06/tty/ttyS0' in '/dev/.udev/db/tty:ttyS0'
    udev_node_add: creating device node '/dev/ttyS0', devnum=4:64, mode=0660, uid=0, gid=20
    udev_node_mknod: preserve file '/dev/ttyS0', because it has correct dev_t
    udev_node_mknod: preserve permissions /dev/ttyS0, 020660, uid=0, gid=20
    node_symlink: preserve already existing symlink '/dev/char/4:64' to '../ttyS0'
    udevadm_test: UDEV_LOG=6
    udevadm_test: DEVPATH=/devices/pnp0/00:06/tty/ttyS0
    udevadm_test: MAJOR=4
    udevadm_test: MINOR=64
    udevadm_test: DEVNAME=/dev/ttyS0
    udevadm_test: ACTION=add
    udevadm_test: SUBSYSTEM=tty
    udevadm_test: DEVLINKS=/dev/char/4:64
    udevadm_test: ID_INPUT=1
    udevadm_test: ID_INPUT_TABLET=1
    udevadm_test: x11_driver=wacom
    And that's where I'm at right now. I'll explore my options concerning this and report back if anything becomes of anything.

  2. #32
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: Tablet PC functionality in a Viewsonic V1250S

    Hi Ziris,

    The issue appears to be whether your Viewsonic is actually an ISDV4 protocol serial device and not a serial wacom tablet.

    If you look at wcmISDV4.c in the /xf86-input-wacom/src/ directory you'll see it says an ISDV4 must be 19200 or 38400. So they are under the impression those are the only two valid baud rates for an ISDV4 device (serial tablet pc). As far as I know all serial tablet pc's are ISDV4. But maybe Viewsonic is the exception?

    So when did they start and stop manufacturing the Viewsonic? We can check to see when the ISDV4 protocol came out. If it is but uses a different baud rate we should be able to fix it in the code and they should be notified there are three, not two, cases.

    If it is a serial digitizer there is a patch set to get it working 10.04 and with another patch for 10.10's X server, Maverick too. It's definitely a little tricky both to compile and to get to work even when installed correctly, so it's worth while to try and find out what the baud rate of a Viewsonic is. It must be out there somewhere.

  3. #33
    Join Date
    May 2010
    Beans
    18

    Re: Tablet PC functionality in a Viewsonic V1250S

    Hey favux, nice to hear from you again. I would be game for simply experimenting with baud rates to see if we can hit on the right one. Viewsonic started manufacturing this thing sometime in '04, and it didn't last too long, so I wouldn't say it was in production any later than the end of '05. Finding info on it is hard, especially since it's quite difficult to find support for it on viewsonic's own website. I could go ahead and email support to see if they could give me some tech specs, but I somehow get the feeling I'd be better off asking my questions to a brick wall. Worth a shot though I suppose.

    I explored that wcmISDV4.c file you mentioned, and even toyed around with changing the baud rates in there and compiling it. Didn't seem to do anything though, as my Xorg.0.log was still referencing the standard baud rates, so I must still be missing something. In either case I'd be game for either toying with baud rates some more or trying that patch you mentioned.

  4. #34
    Join Date
    Aug 2011
    Beans
    2

    Re: Tablet PC functionality in a Viewsonic V1250S

    Have you made any progress on this?
    I also have a V1250s and would love to get this functionality working.

  5. #35
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: Tablet PC functionality in a Viewsonic V1250S

    Hi segfaultex,

    Welcome to Ubuntu forums!

    What do you see when you run?
    Code:
    sudo dmesg | grep ttyS

  6. #36
    Join Date
    Aug 2011
    Beans
    2

    Re: Tablet PC functionality in a Viewsonic V1250S

    Quote Originally Posted by Favux View Post
    Hi segfaultex,

    Welcome to Ubuntu forums!

    What do you see when you run?
    Code:
    sudo dmesg | grep ttyS

    I don't see anything i'm running natty currently.

  7. #37
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: Tablet PC functionality in a Viewsonic V1250S

    What I'm wondering is if the ViewSonic is on another ttyS. I'm not sure we established for sure which one it is on.

    There should just be four ttyS's to test (ttyS0 to ttyS3), but for some reason Natty now has 32? I don't understand what's going on and can't find any documentation. They just decided the old default of 4 ports was too limiting and expanded it? You can check by entering in a terminal:
    Code:
    ls /dev/ttyS*
    What would be good to know is what serial port the digitizer is on. Since dmesg didn't tell us we can try xxd. Enter in a terminal:
    Code:
    xxd /dev/ttyS0
    xxd (hidrawX hexdump) will exit for devices not listed, otherwise CTRL and C to quit. Run through each device listed by "ls /dev/ttyS*" eg. ttyS0, ttyS1, etc. Bring the pen to the screen and move it around. You know you have the right ttyS* when you see a reaction with an output of characters. That's the ttyS* you want to use in xorg.conf.

    I seem to dimly remember several serial tablet PCs were on ttyS4. In releases prior to Natty you would have to add a kernel boot line to add the additional port. I think one might have even been on ttyS5 or 6. The IRQ and ttyS are set by jumpers on the hardware, or at least were in the old days.

    I suppose another way to find out would be to query udev with a little attributes walk, e.g.:
    Code:
    udevadm info -a -p $(udevadm info -q path -n /dev/ttyS0)
    and see if a digitizer identifier such as WACf* or something shows up.

Page 4 of 4 FirstFirst ... 234

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •