From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by befuddled.reisers.ca (Postfix, from userid 65534) id 9B48E1EF899; Fri, 11 Mar 2016 13:59:59 -0500 (EST) Received: from smtpauth1.wiscmail.wisc.edu (wmauth1.doit.wisc.edu [144.92.197.141]) by befuddled.reisers.ca (Postfix) with ESMTPS id 964361EF84F for ; Fri, 11 Mar 2016 13:59:57 -0500 (EST) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Received: from avs-daemon.smtpauth1.wiscmail.wisc.edu by smtpauth1.wiscmail.wisc.edu (Oracle Communications Messaging Server 7.0.5.33.0 64bit (built Aug 27 2014)) id <0O3W000001IE3800@smtpauth1.wiscmail.wisc.edu> for speakup@linux-speakup.org; Fri, 11 Mar 2016 12:59:50 -0600 (CST) X-Spam-PmxInfo: Server=avs-1, Version=6.2.1.2493963, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2016.3.11.185416, SenderIP=0.0.0.0 X-Spam-Report: AuthenticatedSender=yes, SenderIP=0.0.0.0 Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1lp0144.outbound.protection.outlook.com [207.46.163.144]) by smtpauth1.wiscmail.wisc.edu (Oracle Communications Messaging Server 7.0.5.33.0 64bit (built Aug 27 2014)) with ESMTPS id <0O3W00G5L23O1G50@smtpauth1.wiscmail.wisc.edu> for speakup@linux-speakup.org; Fri, 11 Mar 2016 12:59:49 -0600 (CST) Authentication-results: linux-speakup.org; dkim=none (message not signed) header.d=none;linux-speakup.org; dmarc=none action=none header.from=math.wisc.edu; Received: from [144.92.166.19] (144.92.166.19) by BY2PR06MB648.namprd06.prod.outlook.com (10.141.223.154) with Microsoft SMTP Server (TLS) id 15.1.434.16; Fri, 11 Mar 2016 18:59:46 +0000 Reply-to: jheim@math.wisc.edu Subject: USB synths (was: serial synths in 4.X kernels) References: <56CC626F.90700@baechler.net> <497.1456239922@ccs.covici.com> <20160226014122.GN3291@var.home> <2593.1456533270@ccs.covici.com> <20160227210713.GR2760@var.home> <56D9E707.9030804@math.wisc.edu> <20160304231914.GG2710@var.home> <56E1F889.5060304@math.wisc.edu> <20160310230559.GZ4820@var.home> <56E2D7CB.4030005@math.wisc.edu> <20160311162115.GU10620@var.bordeaux.inria.fr> To: "Speakup is a screen review system for Linux." From: John G Heim Message-id: <56E3159C.2040606@math.wisc.edu> Date: Fri, 11 Mar 2016 12:59:40 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 In-reply-to: <20160311162115.GU10620@var.bordeaux.inria.fr> X-Originating-IP: [144.92.166.19] X-ClientProxiedBy: BY1PR18CA0040.namprd18.prod.outlook.com (25.162.126.50) To BY2PR06MB648.namprd06.prod.outlook.com (10.141.223.154) X-MS-Office365-Filtering-Correlation-Id: 6de2c012-d4db-40cb-65b4-08d349df507f X-Microsoft-Exchange-Diagnostics: 1; BY2PR06MB648; 2:z1iMfLWC+/D8s3pPd1Q8LwWn+8I98yBbSVcP1VO1FMVSdf5/ctFJn4mLa6N09Ew1ORupjSiqwY4i13rCcDUlBvaQqPD7xn7XxCWLHrS+oRJ5IXdmR8agnOLBE4lYDL0yhp6aK2rn0N1EUtVH01ahHWAohPtd2SOTa2HkptgBzAuWvK0tIlo8kt+Qm304J1u+; 3:n4qWXMYq/dwjaZ3fxrj/h4xPRfO53S0We2uOAyFdzbwkg6jcuBTmOpD0A9e0l7isYwZNjX9OoGcFyUNJPjiWwxRjASHZpGKPL6Ym2aTZE8VXzlCqwyN4qpUM7AZo0dTW; 25:KTuhjJ9PNtEe/75Xy7uR9YIQNSbNK/C77eTPsuPs+5jrkvX2ZJqT00IDYivAhhgGF7nbUHztu2AXeFNmgRFSw0GEFnoSBj4F7iWF6+H4sfGAmxQkM/uksckwcceUO78VUCL/He4CDJ62MPYDxoZdqPcFi7XccfLbENe6ey7gpHYJscTsuzY0GuzA5BguicXdOghMKyUoQhdC7FfB7UnJXubca6AT8F+nki3Lez6PLxHqXCL59lU/xA76/9PQmwHgoeIph99WkehYUFEQNSSSMMvjIzh44w5G1EmJGs/K9uXbBEk413U/xcM5nYXDp4KoFP+/lML6rMQ67THCnxo/Sw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR06MB648; X-Microsoft-Exchange-Diagnostics: 1; BY2PR06MB648; 20:5qqtucuyzQY/BrHn/O+f4DF89OE3XzfXHLxsle1pmgJcrM6BS0r5aG+4WALG/ChjUPjoJDq7lKrDgiJQu76Nut8rsRnBtA07jS/b7zVQFvxQ1yGuRhpwLrna00yrwicBigDHrJ/js7WX/CsUPZyklyBiXvQZ4WvFua8k5vtdye9tqkrQOljAqIZXeyz1HF+Zn+4lV7LU2XL+WbZ/sqAfvROKJYDOUlYvOL+U7qhX72WpgopuRb9300yGSiurGDNJVo7gGCrjv6shzfOeOzkr3rG3xSvEvkMp1mKAVkOC2ah/TCm558wGG02wAYcTFE88KUL2mgzyQhwgW6Qd66Le30BFvKzYU8c8vzE1g2ezUik=; 4:O71kfEORYbD85MeKnq4JIjiKCmTH0F3AKvbyR2MJ80xRuHV1d+FK7G6ougUaFop2Xhy8bWV0li0tNLTvc+M0/dsTKGqtkC9T5/gGzAG69d7DPorPuayxeu7A/Hiom2y/fnpx6DM6KfbEoq91/KtyeUdNXxMnZG7rfZOQw1+/F8k6IfYWDX7lcG0cCy8eI2oZlLuG0qKuyAyZ9ONJy+ZhDKbI5Y0R98oo4hmpjETRiRcEYJRaYUnsOhzDt810xjL1tD+1YND0HdBt+Q02SFGXJhjDku82v6EAw9beSbGjsKfOZhFdzgOmFfAeHBylr1OZEFpHZ3jIsMXR3Hj/YjtBd25mnSl1rFOYOerJjb85M+RsyX42eMui3up4NPXsyvuL X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001); SRVR:BY2PR06MB648; BCL:0; PCL:0; RULEID:; SRVR:BY2PR06MB648; X-Forefront-PRVS: 087894CD3C X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6049001)(6009001)(450100001)(93886004)(86362001)(4001350100001)(77096005)(229853001)(5008740100001)(6116002)(5004730100002)(230700001)(3846002)(586003)(23746002)(1096002)(75432002)(65806001)(65956001)(66066001)(189998001)(54356999)(43066003)(53806999)(33656002)(47776003)(76176999)(65816999)(64126003)(87266999)(81166005)(50986999)(42186005)(3450700001)(2950100001)(59896002)(110136002)(83506001)(2906002)(50466002)(88552002)(80316001)(107886002)(3940600001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR06MB648; H:[144.92.166.19]; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BY2PR06MB648; 23:v6wA2j8jhbwohXVM3CA9qpPxU+Zq+nteyLEYkB?= =?Windows-1252?Q?mVKc6FyrmMsJM9xUizf8WVtQZnXEtpo3bgaH+o+mL4wIiK+38TB/FeCB?= =?Windows-1252?Q?ZpLYvdR98M/gLakNN9GhCOkGy9rEKNoX6aekNyH+aLEy5RKNNZ8lfmJQ?= =?Windows-1252?Q?d3njfjc5vT+ZOEHa07VGCAeHRc18zzfmzeGEE/aco5/zZm9I/w+Boi9a?= =?Windows-1252?Q?euwBV9OUe8S7qYQRJIFjQP6AwM8Ts5Aas1AZLkSjuYCixLF96gAkARAP?= =?Windows-1252?Q?g1vlah58ZcDcIi0/NfmCPkipMkul6y3PaXyKfsgh2cIpJauWR72diJ4P?= =?Windows-1252?Q?9Czt5Y+Bb24QdpggMERCnGGfq4twtyL7Rznw4yamVlr7XBdT6zl4xEBG?= =?Windows-1252?Q?DnIi+qqn8rZGnh8W/hDPis7F/pCIwXlRZHXSSWCDqIwnGuD8FZ6Zx+mE?= =?Windows-1252?Q?IA9GrulWw3CJJ2TLB+tOGws8blOVhgA83VPpo7XSi5r7uQ4ri+pCxqLz?= =?Windows-1252?Q?zn9qVlWBe9TbIbZgSQFi5M2xVrAgatSqmYnpstS7ort+Yj70sj8+uoVs?= =?Windows-1252?Q?smD0xf9SvpXc//GLrcPF/9IanFb0fwSlBZx2cuuaRXYi9oG8AQmjnUf+?= =?Windows-1252?Q?IJ7g4xPxJz79Y79azULdFbSyVBQvhmJ523SBKfLcGnj6SeHL7DJRGovL?= =?Windows-1252?Q?UXXaif3fV2InRqqyyHrjTdO6qlTBfKuK2czdAlQBuSAc5o4IhhtZ7z8/?= =?Windows-1252?Q?hq7x3yQB7Cf7f4tpUq5zC3vwvbT2hlMM2N8GXpY7aZOHJwbqFXeVtVLD?= =?Windows-1252?Q?1iegQZszDVs774x5f/6EhD+FPLjwAdI7jM1ppvgD0Sx1SvCIntJVnMrl?= =?Windows-1252?Q?yFgBSQpx5jthfsrplY1GA6v3ENCx/j5WFE0B8BxZf47fa179dC/2PYkd?= =?Windows-1252?Q?TY1XbOtfEDaT/QqewoVs6RQB0Ia/Ld0OYb7/WMIl38xcxL4QvwONYNVM?= =?Windows-1252?Q?FhKqZKcK3ubIZrFwnr3CYgzAgWyuhpjMW1I6rXPsBSOM/4qs+kSxHB1I?= =?Windows-1252?Q?sKJ/tk3wAmfjUIEoaTLkorfqwLjCg6u62SobpA9bnify41zFv5uKgDEj?= =?Windows-1252?Q?KUfcM1AAqQGC1umxm4h3qXhR19kf4A8hfLaGeS2YQAp7Y4AqnHBVt7+h?= =?Windows-1252?Q?tnAop1UtUr3JPWJG+fzyG9nIJvtmNRhhdDHkSAW8PqoT0Fr/cfHkD9sw?= =?Windows-1252?Q?jR6Ol+Cla5Zf/P2A=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR06MB648; 5:COLMYf2ttWkdFG+EfdrE0ig+zzarECTaYnxcqw4K45yR8BnWwsVNKw7ai0tEgN6n4Qjh1+auVDRBzaeDwJFY4SUIGZrw3S0o6cmUDGaiD+d6m5dG2LYM3tLUBRfMiq84Zwb7eeDIwISIyzqHiGkb+Q==; 24:ln+7lrjHxq3kbk4tR31SDrfUhtkbHXtGH+f5+bQFTgKQU3nYoZ+cysLamOt+ZbHab4u7zvc0fOwRkrrwuKrUsUfAJTqtgRMWKgWAYgIBkNk= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: math.wisc.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2016 18:59:46.3950 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR06MB648 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-BeenThere: speakup@linux-speakup.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Speakup is a screen review system for Linux." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 18:59:59 -0000 >> Maybe my time would be better spent learning how to write >> a linux device driver for USB. > > > > Well, the drivers do exist already. What lacks so far is the connection > between them and the speakup. Does speakup really have to do anything to talk to a USB synth? I've written udev rules to create device files for USB devices. When you plug in a USB device, the kernel sees it and creates a device file. You can watch the messages scroll by if you tail the syslog while plugging in the USB device. Then you can take the identification strings and write a udev rule to create another device file for that device. People do this all the time so that every time they plug their thumb drive in, it gets a name like /dev/thumb. What if I wrote a udev rule to create a /dev/speakup_ltlk and fooled speakup into thinking it had successfully loaded the speakup_ltlk module?