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/hdb
indicated 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./proc/mounts
to /etc/mtab
and editing /etc/fstab
to 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.gz
will be created. Extract that to your installation directory and you're ready to go.lircd
with the -l
option 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.xine
matches your Xine command.mb.properties
. Adjust mb.media.root
to 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.xml
and 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.xml
file. You can navigate the screen and select an entry using the buttons on your remote that you defined in the mb.properties
file.mb.properties
are for). This event is sent to a hidden UI component in the GUI that always has the keyboard input focus.ifoClose
in DVDGetInfo
to line 852.
src/xitk/event.c
, just add a line in the function gui_execute_action_id
that looks like this: fprintf( stdout, "action\t%d\n", action); fflush( stdout );
. Then run make debug && make install-debug
to deploy the changes.
gcc -o lptout lptout.c
. Just tweak the outb
call to direct the byte to the data or status pins.# Download and extract the tarball to /usr/local/src
cd lcdproc-0.4.5
./configure --enable-drivers=hd44780
make && make install
Port
parameter is set to 0x378
and the ConnectionType
parameter is set to 8bit
. The size should also be set to 20x4. Finally, copy this file to /etc
.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 Server
Clients: 0
Screens: 0
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!displayID
to 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 Backlight
parameter in the HD44780 section of the conf file to "yes".make && make install
to deploy the changes. Restart LCDd. You can test the backlight by telnetting to localhost 13666
and entering the following commands:
hello
screen_add 0
backlight on
backlight off
backlight
command 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_secs
is initialized to 1. Copy that line twice and replace last_secs
with len_secs
and stream_pos
.gui_xine_get_pos_length(...)
with gui_xine_get_pos_length( gGui->stream, &stream_pos, &secs, &len_secs )
. Divide len_secs
by 1000 afterwards, as is already done with secs
.fprintf
with this: fprintf(stdout, "time\t%d\t%d\n", secs, len_secs)
.make && make install
to deploy your changes.--verbose
option to the command line. A slightly cleaner way (only cleaner in terms of the output) is to run make clean && make debug && make install_debug
to 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