Day of Disappointment
Anyways, Logic Supply has been great to me so far, so I'm hoping that they'll process this as a warranty claim without any hiccups.
/sbin/badblocks -t random -w /dev/hdbindicated that certain writes would just randomly fail. [Note that the above command will destroy all existing data on your hard disk]
/dev/sdb. It was all much more convenient than I imagined it would be. In the end, I guess the write speed through USB was slow enough not to cause a problem. Once the filesystem was copied over, and I was ready to switch to a read-only file system, I reconnected the card to the IDE adaptor, because reading from the card works fine.
/etc/fstabto include the "ro" option for the root filesystem.
mediabrowser' for now and you can download it here. You'll need JDK 1.5 to build it, or JRE 1.5 to run it. Both can be obtained from java.sun.com.
ant clean dist. The file
build/dist/mediabrowser.tar.gzwill be created. Extract that to your installation directory and you're ready to go.
-loption so it can provide the IR data over a TCP/IP port. Then follow these steps to adjust the Mediabrowser to suit your configuration:
conf/xineloader.properties. Verify that
xl.cmd.xinematches your Xine command.
mb.media.rootto match the root directory for your media collection. If you are using a remote control, change the property names for the
ir.btnmap.[...]properties to match the button names in your LIRC configuration file. That will map each button to a Java KeyEvent.
index.xmland place it in the root media directory that you specified above. This is what the Mediabrowser will inspect to get information about your collection.
java -cp conf:bin ca.razorwire.mb.gui.MediaBrowser. A full-screen window should appear, displaying the entries in your
index.xmlfile. You can navigate the screen and select an entry using the buttons on your remote that you defined in the
mb.propertiesare for). This event is sent to a hidden UI component in the GUI that always has the keyboard input focus.
DVDGetInfoto line 852.
src/xitk/event.c, just add a line in the function
gui_execute_action_idthat looks like this:
fprintf( stdout, "action\t%d\n", action); fflush( stdout );. Then run
make debug && make install-debugto deploy the changes.
gcc -o lptout lptout.c. Just tweak the
outbcall to direct the byte to the data or status pins.
# Download and extract the tarball to /usr/local/src
make && make install
Portparameter is set to
ConnectionTypeparameter is set to
8bit. The size should also be set to 20x4. Finally, copy this file to
LCDd /etc/LCDd.conf. It runs in the foreground by default. This is configurable within the conf file. If LCDd was able to connect and interface with your display, the screen should change from the two active lines (self-test screen) to something like this:
lcdproc C. This will try to connect to LCDd on the default address and port and display your CPU usage statistics on the LCD screen. If it works, congratulations!
displayIDto 0 in the function
lcdwinamp_HD44780_senddata(server/drivers/hd44780-winamp.c). I also had to swap the values for BacklightBrightness and BacklightOffBrightness in LCDd.conf. Then I just set the
Backlightparameter in the HD44780 section of the conf file to "yes".
make && make installto deploy the changes. Restart LCDd. You can test the backlight by telnetting to
localhost 13666and entering the following commands:
backlightcommand has no effect until at least one screen has been created.
src/xitk/stdctl.c. In the function
xine_stdctl_loop, change the line:
int secs, last_secs;to
int secs, last_secs, len_secs, stream_pos;
last_secsis initialized to 1. Copy that line twice and replace
gui_xine_get_pos_length( gGui->stream, &stream_pos, &secs, &len_secs ). Divide
len_secsby 1000 afterwards, as is already done with
fprintf(stdout, "time\t%d\t%d\n", secs, len_secs).
make && make installto deploy your changes.
--verboseoption to the command line. A slightly cleaner way (only cleaner in terms of the output) is to run
make clean && make debug && make install_debugto deploy your changes instead. If everything's working right, you should see a bunch of lines like this displayed on the screen:
time 0 97
time 1 97
time 2 97