November 2, 2012

The June 2011 installation CD for QNX 4.25 has incompatibilities
with the USB devices on the PC's we purchase which use USB mouse
and keyboard instead of PS/2 mouse and keyboard. The installation
cannot see the USB plug and play at all and freezes forever if
QNX tries to detect USB automatically. If you install without
USB plug and play QNX 4.25 will install treating the USB mouse
and keyboard as PS/2.  And if you bring up Photon the mouse will
erratically move and click and drag both buttons.

The procedure to get around this is as follows.

1.  Install using June 2011 QNX 4.25 and let QNX install the USB
    mouse and keyboard as PS/2. Make sure during the installation
    you properly configure the TCP/IP settings and delete in the
    sysinit preview any second network adapters which may cause
    conflicts. You need QNX to be able to come up on the network
    on the first try because editing will be nearly impossible
    from Photon. Do set Photon to start automatically.

2.  Use either "telnet -8 [IP address]" or Phindows to access the
    newly installed QNX system. Use ftp in binary mode to send
    usb_experimental.zip. QNX 4.25 also installs without zip and
    unzip utilities, so you should also send those to the new
    system.

3.  Replace the following files using the zip file contents:

        /bin/Fsys.umass
        /bin/devu-kbd
        /bin/devu-mouse
        /bin/devu-prn
        /bin/io-usb
        /bin/io-usb-ehci
        /bin/usb
        /bin/usb-index

4.  Use the usb and usb-index utilities to figure out what USB
    indexes are used by the mouse and keyboard.  The list is in
    order, so if you have two EHCI indexes, those are 0 and 1.
    And if you have six UHCI indexes, those are 0 to 5.

6.  Before you change the sysinit test that you can correctly
    start the USB stack and input drivers manually. For instance,
    if the mouse and keyboard are shown to use UHCI indexes 2 and
    3, type the following from either telnet or Phindows.

    slay -f io-usb devu-mouse devu-kbd Input
    ls /dev/usb*
    (make sure no /dev/usb* registries are found)
    io-usb -d uhci pindex=2 -d uhci pindex=3
    sleep 3
    usb
    devu-mouse
    devu-kbd
    sleep 5
    ls /dev/usb*
    (make sure you see /dev/usb, /dev/usbkbd0 and /dev/usbmouse0.
    Input -d /dev/photon msoft fd -d /dev/usbmouse0 &
    Enter (make sure you get prompt)
    Input -d /dev/photon kbd -R fd -d /dev/usbkbd0 &
    Enter (make sure you get prompt)

7.  If the mouse and keyboard come up correctly, the Photon
    mouse and keyboard will work. Go to the newly installed PC
    and make sure the input functions and is not erratic.

8.  cp /etc/config/sysinit.[node] /etc/config/altsysinit

9.  Add the following to /etc/config/sysinit.[node] right before
    you bring up ph.$NODE and optionally before you bring up
    tcpip.$NODE. This example assumes mouse and keyboard are in
    UHCI indexes 2 and 3.

        io-usb -d uhci pindex=2 -d uhci pindex=3
        sleep 3
        devu-mouse
        devu-kbd
        sleep 5

10. Replace the contents of /etc/config/bin/Input.[node] with:

    Input msoft fd -d /dev/usbmouse0 kbd -R fd -d /dev/usbkbd0 &

11. Replace the contents of /etc/config/trap/input.[node] with:

    msoft fd -d/dev/usbmouse0
    kbd fd -d/dev/usbkbd0

12. Reboot the system and make sure Photon comes up with working
    input and no erratic behavior.  If it does not, boot up in
    alternate configuration (hitting Escape when prompted) and
    repeat the diagnostics. It should work, however, if the
    manual configurations worked.


      - Gil Lande from working with Pavel of QNX Foundry Support
