I am not sure what you guys are up to  but if it helps, here is a udev rule that I think will load the DECtalk module for your DECtalk USB when you plug it in. Note: It matches the tty subsystem instead of USB because that way you can use "%k" to point Speakup at the device. Also,  it sets action = add so that the rule is triggered only once. I have similar rules for my TripleTalk and for my Raspberry Pi synths.

=== begin

ACTION=="add", \
SUBSYSTEM=="tty", \
ATTRS{idVendor}=="0dd0", \
ATTRS{idProduct}=="2001", \
RUN+="/sbin/modprobe speakup_dectlk tty=%k"
=== end


On 2/8/26 3:45 PM, Chime Hart wrote:
OK Samuel, this is 90lines, hope it makes it through
sudo lsusb -v -d 0dd0:2001

Bus 005 Device 004: ID 0dd0:2001 Access Solutions DECtalk USB
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               1.00
   bDeviceClass            0 [unknown]
   bDeviceSubClass         0 [unknown]
   bDeviceProtocol         0
   bMaxPacketSize0        64
   idVendor           0x0dd0 Access Solutions
   idProduct          0x2001 DECtalk USB
   bcdDevice            2.06
   iManufacturer           1 Access Solutions
   iProduct                2 DECtalk USB
   iSerial                 0
   bNumConfigurations      1
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength       0x0035
     bNumInterfaces          1
     bConfigurationValue     1
     iConfiguration          0
     bmAttributes         0xa0
       (Bus Powered)
       Remote Wakeup
     MaxPower              400mA
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        0
       bAlternateSetting       0
       bNumEndpoints           5
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      0 [unknown]
       bInterfaceProtocol      0
       iInterface              0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x02  EP 2 OUT
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0040  1x 64 bytes
         bInterval               1
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x04  EP 4 OUT
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0040  1x 64 bytes
         bInterval               1
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x06  EP 6 OUT
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0040  1x 64 bytes
         bInterval               1
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x86  EP 6 IN
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0040  1x 64 bytes
         bInterval               1
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x84  EP 4 IN
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0040  1x 64 bytes
         bInterval               1
Device Status:     0x0000
   (Bus Powered)
Chime



Reply via email to