From: <123...@ma...> - 2010-09-04 19:16:22
|
Hi, i recently bought myself a Moneual Moncaso 312 Htpc case which includes a VL System OEM remote control. The device itself is listed as a ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC and is plugged into a usb port. The only button the works out of the box is the power button. Actually i'm using ubuntu 2.6.32-24-generic and Lirc 0.8.6 (tried also the cvs version up to lirc-0.8.7-pre3). Since i had no luck with the Ftdi based setup (failed with "default setup", don't wanna go into more details for now makes the posting just longer) i tried the included mplay driver with default settings. REMOTE_DRIVER="mplay" REMOTE_DEVICE="/dev/ttyUSB0" I had neither with mode2 nor with irrecord so far any success. irrecord: Trying to create lock file irrecord: Trying to open serial port /dev/ttyUSB0 irrecord: Trying to set Serial port configuration /dev/ttyUSB0 irrecord: could not set O_NONBLOCK flag irrecord: Entering mplay_deinit() mode2: Trying to create lock file mode2: Trying to open serial port /dev/ttyUSB0 mode2: Trying to set Serial port configuration /dev/ttyUSB0 This program does not work for this hardware yet. Ok i thought maybe i can get some info from windows and verify at least if the remote settings are still valid. After monitoring the serial port i think the the remote file is still ok at least the button settings and the 0x7e for the repeat code dunno for the gap and other settings. In windows i figured now also out that if the included Mplay software ain't started nothing will happen, no remote button works or is recognized (used there winlirc) except once again the power button. I monitored now what happends when the mplay software is started under windows but have honestly no real idea what i can do if if there can be done something with it. 000183: Create Request (DOWN), 04.09.2010 09:43:41.609 +6.421 Process 0x1b4 (MMX.exe) attempted to open the device 000184: Create Request (UP), 04.09.2010 09:43:41.625 +0.015 Process 0x1b4 (MMX.exe) create request status: 0x00000000 000185: I/O Request (DOWN), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_SET_QUEUE_SIZE: Set queue size InSize=2048 OutSize=2048 000186: I/O Request (UP), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_SET_QUEUE_SIZE: Set queue size 000195: I/O Request (DOWN), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_SET_BAUD_RATE: Set baud rate Baud Rate=57600 000196: I/O Request (UP), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_SET_BAUD_RATE: Set baud rate 000197: I/O Request (DOWN), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_CLR_RTS: Clear RTS 000198: I/O Request (UP), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_CLR_RTS: Clear RTS 000199: I/O Request (DOWN), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_CLR_DTR: Clear DTR 000200: I/O Request (UP), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_CLR_DTR: Clear DTR 000201: I/O Request (DOWN), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_SET_LINE_CONTROL: Set line control WordLength=8 StopBits=1 stop bit Parity=No parity 000202: I/O Request (UP), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_SET_LINE_CONTROL: Set line control 000203: I/O Request (DOWN), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_SET_CHARS: Set special characters EofChar=0x20 ErrorChar=0x0 BreakChar=0x0 EventChar=0xa XonChar=0x11 XoffChar=0x13 000204: I/O Request (UP), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_SET_CHARS: Set special characters 000205: I/O Request (DOWN), 04.09.2010 09:43:41.625 +0.0 IOCTL_SERIAL_SET_HANDFLOW: Set handshake information ControlHandShake=0 FlowReplace=0 XonLimit=512 XoffLimit=512 000206: I/O Request (UP), 04.09.2010 09:43:41.640 +0.015 IOCTL_SERIAL_SET_HANDFLOW: Set handshake information 000207: I/O Request (DOWN), 04.09.2010 09:43:41.640 +0.0 IOCTL_SERIAL_SET_TIMEOUTS: Set timeouts ReadIntervalTimeout=4294967295 ReadTotalTimeoutMultiplier=0 ReadTotalTimeoutConstant=0 WriteTotalTimeoutMultiplier=0 WriteTotalTimeoutConstant=0 000208: I/O Request (UP), 04.09.2010 09:43:41.640 +0.0 IOCTL_SERIAL_SET_TIMEOUTS: Set timeouts 000209: I/O Request (DOWN), 04.09.2010 09:43:41.640 +0.0 IOCTL_SERIAL_SET_WAIT_MASK: Set current event mask WaitMask=RXCHAR: Any Character received, RXFLAG: Received certain character, TXEMPTY: Transmitt Queue Empty, CTS: CTS changed state, DSR: DSR changed state 000210: I/O Request (UP), 04.09.2010 09:43:41.640 +0.0 IOCTL_SERIAL_SET_WAIT_MASK: Set current event mask 000218: I/O Request (DOWN), 04.09.2010 09:43:41.640 +0.0 IOCTL_SERIAL_PURGE: Purge requests Purge mask=TXCLEAR: Write requests, RXCLEAR: Write buffer 000219: I/O Request (UP), 04.09.2010 09:43:41.640 +0.0 IOCTL_SERIAL_PURGE: Purge requests 000220: I/O Request (DOWN), 04.09.2010 09:43:41.640 +0.0 IOCTL_SERIAL_PURGE: Purge requests Purge mask=TXCLEAR: Write requests, RXCLEAR: Write buffer 000221: I/O Request (UP), 04.09.2010 09:43:41.640 +0.0 IOCTL_SERIAL_PURGE: Purge requests 000222: Write Request (DOWN), 04.09.2010 09:43:41.640 +0.0 Buffer size: 0x1 bytes 000230: Read Request (UP), 04.09.2010 09:43:41.640 +0.0 Buffer size: 0xb bytes Status: 0x00000000 2E 4D 31 30 36 2E 4D 31 30 36 2E .M106.M106. 000234: I/O Request (DOWN), 04.09.2010 09:43:42.562 +0.921 IOCTL_SERIAL_PURGE: Purge requests Purge mask=TXABORT: Read requests, RXABORT: Receive buffer 000235: I/O Request (UP), 04.09.2010 09:43:42.562 +0.0 IOCTL_SERIAL_PURGE: Purge requests 000236: I/O Request (DOWN), 04.09.2010 09:43:42.562 +0.0 IOCTL_SERIAL_SET_WAIT_MASK: Set current event mask WaitMask=None 000238: I/O Request (UP), 04.09.2010 09:43:42.562 +0.0 IOCTL_SERIAL_SET_WAIT_MASK: Set current event mask 000239: I/O Request (DOWN), 04.09.2010 09:43:42.562 +0.0 IOCTL_SERIAL_PURGE: Purge requests Purge mask=TXCLEAR: Write requests, RXCLEAR: Write buffer 000240: I/O Request (UP), 04.09.2010 09:43:42.562 +0.0 IOCTL_SERIAL_PURGE: Purge requests 000241: Close Request (DOWN), 04.09.2010 09:43:42.562 +0.0 Buffer size: 0x0 bytes 000242: Close Request (UP), 04.09.2010 09:43:42.671 +0.109 Buffer size: 0x0 bytes Status: 0x00000000 000243: Create Request (DOWN), 04.09.2010 09:43:42.671 +0.0 Process 0x1b4 (MMX.exe) attempted to open the device 000244: Create Request (UP), 04.09.2010 09:43:42.687 +0.015 Process 0x1b4 (MMX.exe) create request status: 0x00000000 000245: I/O Request (DOWN), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_QUEUE_SIZE: Set queue size InSize=2048 OutSize=2048 000246: I/O Request (UP), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_QUEUE_SIZE: Set queue size 000255: I/O Request (DOWN), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_BAUD_RATE: Set baud rate Baud Rate=57600 000256: I/O Request (UP), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_BAUD_RATE: Set baud rate 000257: I/O Request (DOWN), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_CLR_RTS: Clear RTS 000258: I/O Request (UP), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_CLR_RTS: Clear RTS 000259: I/O Request (DOWN), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_CLR_DTR: Clear DTR 000260: I/O Request (UP), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_CLR_DTR: Clear DTR 000261: I/O Request (DOWN), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_LINE_CONTROL: Set line control WordLength=8 StopBits=1 stop bit Parity=No parity 000262: I/O Request (UP), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_LINE_CONTROL: Set line control 000263: I/O Request (DOWN), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_CHARS: Set special characters EofChar=0x1c ErrorChar=0x0 BreakChar=0x0 EventChar=0xa XonChar=0x11 XoffChar=0x13 000264: I/O Request (UP), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_CHARS: Set special characters 000265: I/O Request (DOWN), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_HANDFLOW: Set handshake information ControlHandShake=0 FlowReplace=0 XonLimit=512 XoffLimit=512 000266: I/O Request (UP), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_HANDFLOW: Set handshake information 000267: I/O Request (DOWN), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_TIMEOUTS: Set timeouts ReadIntervalTimeout=4294967295 ReadTotalTimeoutMultiplier=0 ReadTotalTimeoutConstant=0 WriteTotalTimeoutMultiplier=0 WriteTotalTimeoutConstant=0 000268: I/O Request (UP), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_TIMEOUTS: Set timeouts 000269: I/O Request (DOWN), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_WAIT_MASK: Set current event mask WaitMask=RXCHAR: Any Character received, RXFLAG: Received certain character, TXEMPTY: Transmitt Queue Empty, CTS: CTS changed state, DSR: DSR changed state 000270: I/O Request (UP), 04.09.2010 09:43:42.687 +0.0 IOCTL_SERIAL_SET_WAIT_MASK: Set current event mask Is there even actually or maybe in future a chance to get the device working or is it just not possible ? |
From: <123...@ma...> - 2010-09-13 09:38:38
|
Hi, maybe i should clarify my previous posting a little bit (missed also an importand byte during posting) i don't know what i need to modify kinda in the exisiting mplay driver to be able to send that (maybe initialize command ??) . . 000222: Write Request (DOWN), 04.09.2010 09:43:41.640 +0.0 Buffer size: 0x1 bytes 96 > missed this here before 000230: Read Request (UP), 04.09.2010 09:43:41.640 +0.0 Buffer size: 0xb bytes Status: 0x00000000 2E 4D 31 30 36 2E 4D 31 30 36 2E .M106.M106. . . So far i did a open device,drop dtr and rts, set device params and baud rate and tried than to send the byte to the serial port to get a result from it but guess i'm pretty wrong there any help would be apreciated. |
From: <123...@ma...> - 2010-09-20 15:43:51
|
Hi, it looks like that the device is working now at least my xbmc works and the remote control also. Also it is basically only a slightly modified mplay driver that works maybe only with the Monueal Moncaso 312 a question @ Jarod Wilson do ya want a copy of my modified driver including the remote conf (also it's more or less the same like the VL System except the gap). |
From: Jarod W. <ja...@wi...> - 2010-09-20 21:00:36
|
On Mon, Sep 20, 2010 at 11:27 AM, <123...@ma...> wrote: > Hi, > > it looks like that the device is working now at least my xbmc works and the > remote control also. Also it is basically only a slightly modified mplay > driver that works maybe only with the Monueal Moncaso 312 a question @ Jarod > Wilson do ya want a copy of my modified driver including the remote conf > (also it's more or less the same like the VL System except the gap). Post a diff to the list, and we'll see what we can do with it... -- Jarod Wilson ja...@wi... |
From: <123...@ma...> - 2010-10-13 16:41:49
|
Hi Jarod, looks like my modification works not only for me, in the ubuntu forum someone else was able to verify it with a slightly different case (monueal 320 which includes also a vfd but same remote). Since like i mentioned before my C knowledge is pretty limited the only solution i actually could come up to keep the existing mplay driver kinda unchanged would be something like Albert Huitsing did with his ftdi driver and pass the device string next to maybe the vendor or are there any other better ways to pass something from the hardware.conf to the daemon drivers ? btw thx for considering to add my little "mod" to lirc. Arne |
From: <123...@ma...> - 2010-10-17 18:37:37
|
Hi Josu, you might follow the "tutorial" posted on the ubuntu forum here at least if you have a Asrock ION 330HT Nuvoton based remote but i guess so. http://ubuntuforums.org/showthread.php?p=9972151 If there is actually a easier way ... sorry no idea Arne |
From: <123...@ma...> - 2010-09-21 08:09:58
|
Hi Jarod, since only mplay_init is "new" i paste my code instead of a "real" diff hope that is ok and please forgive me if my coding here is pure crap i'm not very familar with C. int mplay_init(void) { int result = 1; struct termios portset; signed int len; char buf = 0x96; char psResponse [11]; LOGPRINTF(1, "Entering mplay_init()"); /* Creation of a lock file for the port */ if (!tty_create_lock(hw.device)) { logprintf(LOG_ERR, "Could not create the lock file"); LOGPRINTF(1, "Could not create the lock file"); result = 0; } LOGPRINTF(0, "open serial port"); /* Try to open serial port (Monueal Moncaso 312 device doesn't like O_NONBLOCK */ if ((hw.fd = open(hw.device, O_RDWR | O_NOCTTY )) < 0) { logprintf(LOG_ERR, "Could not open the serial port"); LOGPRINTF(1, "Could not open the serial port"); tty_delete_lock(); result = 0; } /* Get serial device parameters */ if (tcgetattr(hw.fd, &portset) < 0) { logprintf(LOG_ERR, "Could not get serial port attributes"); LOGPRINTF(1, "Could not get serial port attributes"); mplay_deinit(); result = 0; } /* use own termios struct instead of using tty_reset , Moncaso doesn't like TCSAFLUSH */ portset.c_cflag &= ~PARENB; portset.c_cflag &= ~CSTOPB; portset.c_cflag &= ~CSIZE; portset.c_cflag = B57600 | CS8; portset.c_cflag |= (CLOCAL | CREAD); portset.c_iflag |= (IXON | IXOFF | IXANY); portset.c_oflag &= ~OPOST; portset.c_lflag &= ~(ICANON|ECHOE| ECHO|ISIG ); portset.c_cc[VSTART] = 0x11; portset.c_cc[VSTOP] = 0x13; portset.c_cc[VEOF] = 0x20; portset.c_cc[VMIN] = 1; portset.c_cc[VTIME] = 3; if (tcsetattr(hw.fd, TCSANOW, &portset) < 0) { logprintf(LOG_ERR, "Error setting TCSANOW mode of serial device"); LOGPRINTF(1, "Error setting TCSANOW mode of serial device"); mplay_deinit(); result = 0; } len = write(hw.fd, &buf, 1); if (len < 0) { LOGPRINTF(LOG_ERR,"couldn't write to device"); mplay_deinit(); result = 0; } len = read(hw.fd, &psResponse,11); if (len < 0) { LOGPRINTF(1,"No data recieved during reading"); mplay_deinit(); result = 0; } else { LOGPRINTF(1,"read chars: %s", psResponse); } if (tcgetattr(hw.fd, &portset) < 0) { logprintf(LOG_ERR, "Could not get serial port attributes"); LOGPRINTF(1, "Could not get serial port attributes"); mplay_deinit(); result = 0; } portset.c_cflag &= ~PARENB; portset.c_cflag &= ~CSTOPB; portset.c_cflag &= ~CSIZE; portset.c_cflag = B57600 | CS8; portset.c_cflag |= (CLOCAL | CREAD); portset.c_iflag |= (IXON | IXOFF | IXANY); portset.c_oflag &= ~OPOST; portset.c_lflag &= ~(ICANON|ECHOE| ECHO|ISIG ); portset.c_cc[VSTART] = 0x11; portset.c_cc[VSTOP] = 0x13; portset.c_cc[VEOF] = 0x1C; portset.c_cc[VMIN] = 1; portset.c_cc[VTIME] = 3; if (tcsetattr(hw.fd, TCSANOW, &portset) < 0){ logprintf(LOG_ERR, "Error setting TCSANOW mode of serial device"); LOGPRINTF(1, "Error setting TCSANOW mode of serial device"); mplay_deinit(); result = 0; } return result; } |
From: Jarod W. <ja...@wi...> - 2010-10-15 19:33:13
|
On Sep 21, 2010, at 4:09 AM, 123...@ma... wrote: > Hi Jarod, > > since only mplay_init is "new" i paste my code instead of a "real" diff hope that is ok Its highly sub-optimal, but I'll deal with it. Flat-out replacing code that works for another device is sub-optimal too, this needs to be done in a way that we're sure won't break the hardware the driver was originally written for. I've hacked something together based on this that I think should work, committed and pushed it. http://lirc.git.sourceforge.net/git/gitweb.cgi?p=lirc/lirc;a=commitdiff;h=06bbae8e74ab39672b15f7ca72b87685eaf7b2d5 > and please forgive me if my coding here is pure crap i'm not very familar with C. Formatting wasn't the prettiest thing I've seen, and you were setting result = 0 and then continuing with all the init sequence, rather than exiting on failure, but that was easily fixed. -- Jarod Wilson ja...@wi... |
From: <123...@ma...> - 2010-10-16 07:52:25
|
Hi Jarod, sure this was not even close to be optimal and it wasn't also my intention to replace the exisiting code but i had no idea how to make a difference between a "normal" Vlsystems device and the Monueal so i thought it might be easier to do it that way, also i didn't wanted to break anything else in lirc. And just copy everything else and make a completly new driver would have been also a waste since everything else except the init works pretty well with the existing driver. I'm pretty much existed with what idea u came up to integrate it ;) Arne |
From: <123...@ma...> - 2010-10-16 08:56:07
|
Hi Jarod, this might sound now pretty stupid but didn't you miss there something maybe ? I saw you created now a mplay2_init but isn't there also than a new menu entry needed in the setup to call that one, or how does it work now ? At least i wasn't able to get it running so far (used as device in setup usb/Vl Systems) Sorry for beeing that annyoing now :( Arne |
From: Jarod W. <ja...@wi...> - 2010-10-17 00:17:08
|
On Sat, Oct 16, 2010 at 4:55 AM, <123...@ma...> wrote: > Hi Jarod, > > this might sound now pretty stupid but didn't you miss there something maybe > ? > I saw you created now a mplay2_init but isn't there also than a new menu > entry needed in the setup to call that one, or how does it work now ? > At least i wasn't able to get it running so far (used as device in setup > usb/Vl Systems) First things first... You're using a git checkout of lirc, correct? If so, then I think there *should* be a new menu entry mplay2, if I did things correctly. At the very least, 'lircd -H help' should definitely include mplay2 in the list of supported drivers (a local build here does). -- Jarod Wilson ja...@wi... |
From: Stephan R. <mai...@op...> - 2010-10-17 18:56:19
|
Am 17.10.2010 20:37, schrieb 123...@ma...: > > Hi Josu, > > you might follow the "tutorial" posted on the ubuntu forum here at > least if you have a > Asrock ION 330HT Nuvoton based remote but i guess so. > > http://ubuntuforums.org/showthread.php?p=9972151 > > If there is actually a easier way ... sorry no idea the easyest way would be to integrate jarods driver per default in ubuntu kernel, for this maybe you must create an ticket, so the devs will include this driver :-) maybe this helps a bit for the future. :-) Stephan -- ### OpenELEC.tv ### The free and open Mediacenter Distribution 4 you http://www.openelec.tv |
From: Jarod W. <ja...@wi...> - 2010-10-18 03:12:44
|
On Sun, Oct 17, 2010 at 2:56 PM, Stephan Raue <mai...@op...> wrote: > Am 17.10.2010 20:37, schrieb 123...@ma...: > > Hi Josu, > > you might follow the "tutorial" posted on the ubuntu forum here at least if > you have a > Asrock ION 330HT Nuvoton based remote but i guess so. > > http://ubuntuforums.org/showthread.php?p=9972151 > > If there is actually a easier way ... sorry no idea > > the easyest way would be to integrate jarods driver per default in ubuntu > kernel, for this maybe you must create an ticket, so the devs will include > this driver :-) maybe this helps a bit for the future. :-) I've already talked to some Canonical kernel folk about getting the driver incorporated into the Ubuntu 10.10 kernel. Basically, not gonna happen in the kernel itself, but they're looking at a\putting together a linux backport module package that would contain it. -- Jarod Wilson ja...@wi... |
From: Josu L. <jos...@gm...> - 2010-10-17 20:32:01
|
Thanks for your help, I start patching the Kernel, but I get lost. Where can I open the ticket? Thanks and regards. 2010/10/17 Stephan Raue <mai...@op...>: > Am 17.10.2010 20:37, schrieb 123...@ma...: > > Hi Josu, > > you might follow the "tutorial" posted on the ubuntu forum here at least if > you have a > Asrock ION 330HT Nuvoton based remote but i guess so. > > http://ubuntuforums.org/showthread.php?p=9972151 > > If there is actually a easier way ... sorry no idea > > the easyest way would be to integrate jarods driver per default in ubuntu > kernel, for this maybe you must create an ticket, so the devs will include > this driver :-) maybe this helps a bit for the future. :-) > > Stephan > > -- > ### OpenELEC.tv ### > The free and open Mediacenter Distribution 4 you > http://www.openelec.tv > > ------------------------------------------------------------------------------ > Download new Adobe(R) Flash(R) Builder(TM) 4 > The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly > Flex(R) Builder(TM)) enable the development of rich applications that run > across multiple browsers and platforms. Download your free trials today! > http://p.sf.net/sfu/adobe-dev2dev > -- Josu Lazkano |
From: Paul M. <pau...@us...> - 2010-10-17 20:50:00
|
[Please do not top post.] Am Sonntag, den 17.10.2010, 22:31 +0200 schrieb Josu Lazkano: > Thanks for your help, I start patching the Kernel, but I get lost. > > Where can I open the ticket? Please take a look at [1] and [2]. I found those by searching for »ubuntu bug«. […] Thanks, Paul [1] https://wiki.ubuntu.com/Bugs [2] https://bugs.launchpad.net/ubuntu |