Difference between revisions of "Volume Knob on Antec Fusion"

From MythTV Official Wiki
Jump to: navigation, search
 
(20 intermediate revisions by 12 users not shown)
Line 1: Line 1:
[[Category:HOWTO]]
 
[[Category:Hardware]]
 
 
 
[[Image:Fusion.jpg]]
 
[[Image:Fusion.jpg]]
  
 
Antec Fusion has this big, nice-looking volume knob.  It would also be nice to let it actually do something.  The following are the steps I took to make it to work nicely with an MCE remote.  My Myth box was based on Fedora Core 6, installed using RPMs from Fedora and ATRpms as much as possible.  If you have a system based on another distribution, adapt the steps accordingly.
 
Antec Fusion has this big, nice-looking volume knob.  It would also be nice to let it actually do something.  The following are the steps I took to make it to work nicely with an MCE remote.  My Myth box was based on Fedora Core 6, installed using RPMs from Fedora and ATRpms as much as possible.  If you have a system based on another distribution, adapt the steps accordingly.
  
====Get the [[LCDproc|VFD]] to work====
+
.
 +
 
 +
{{Note box| In mid 2007 Antec released Version 2 of the silver case and a black version. The V2 silver case contains an updated iMon OEM VFD module with integrated IR receiver, which differs from the original case which contained an OEM iMon VFD with no IR receiver. Many (Windows) users on the SoundGraph forum have reported heavy restrictions in the later revision that break compatibility with the earlier version. The black version contains an iMon OEM LCD module which currently does not work with Lirc or LcdPROC(see [[Imon]] page for more details). The instructions on this page are currently valid for the original Antec Fusion case and Version 2 of the silver case, and may not be appropriate for the black version.
 +
 
 +
'''Update Oct 2007''' patch for Black Fusion available [http://codeka.com/blogs/ here].
 +
IR receiver in Black Fusion is working with MCE remotes. [http://mythbuntu.nl/hardware/antec-fusion-v2-imon-lcd-lirc-installation-guide Use this guide for a cut and paste howto].
 +
}}
 +
 
 +
 
 +
 
 +
 
 +
.
 +
 
 +
====Get the VFD to work====
 +
 
 +
I followed the [[LCDproc]] page and made the VFD work.
  
 
====Edit udev rules====
 
====Edit udev rules====
Line 14: Line 26:
 
Edit /etc/udev/rules.d/lirc.rules, and add the following lines to the end of the file.  You need to change the idVendor for your own devices.
 
Edit /etc/udev/rules.d/lirc.rules, and add the following lines to the end of the file.  You need to change the idVendor for your own devices.
  
  KERNEL=="lirc[0-9]*", SYSFS{idVendor}=="0471", SYMLINK+="lirc_mce"
+
KERNEL=="lirc[0-9]*", SYSFS{idVendor}=="0471", SYMLINK+="lirc_mce"
  KERNEL=="lirc[0-9]*", SYSFS{idVendor}=="15c2", SYMLINK+="lirc_imon"
+
KERNEL=="lirc[0-9]*", SYSFS{idVendor}=="15c2", SYMLINK+="lirc_imon"
  
 
If you need info on how to write udev rules, or on how to find out
 
If you need info on how to write udev rules, or on how to find out
unique SYSFS attributes you can use to write the rules, see [http://reactivated.net/writing_udev_rules.html here].
+
unique SYSFS attributes you can use to write the rules, see [http://reactivated.net/writing_udev_rules.html here]. New versions of udev will need SYSFS to be replaced with ATTR.
 +
 
 +
For some devices, such as the Hauppauge PVR-150, the idVendor can be tricky to find. In which case, you can try to assign the symlink based in the character device number. Running
 +
 
 +
ls -l /dev/lirc*
 +
 
 +
will show the lirc devices
 +
 
 +
crw-rw---- 1 root root 61, 0 2008-01-20 19:45 /dev/lirc0
 +
crw-rw---- 1 root root 61, 1 2008-01-20 19:45 /dev/lirc1
 +
 
 +
If you are confident the latter is the PVR device, you can assign a symlink using
 +
 
 +
KERNEL=="lirc[0-9]*", ATTR{dev}=="61:1", SYMLINK+="lirc_pvr"
 +
 
 +
Although this will fail if the assigment is truly random, it usually isn't if you are not making changes to your system, and this trick enables you to follow the rest of this guide.
  
 
====Add entries to lircd.conf====
 
====Add entries to lircd.conf====
Line 24: Line 51:
 
Following this [http://ubuntuforums.org/showthread.php?t=306437 thread], I added these lines into /etc/lircd.conf
 
Following this [http://ubuntuforums.org/showthread.php?t=306437 thread], I added these lines into /etc/lircd.conf
  
  begin remote
+
begin remote
    name  ClickWheel
+
  name  ClickWheel
    bits          24
+
  bits          24
    eps            30
+
  eps            30
    aeps          100
+
  aeps          100
   
+
    one            0    0
+
  one            0    0
    zero            0    0
+
  zero            0    0
    post_data_bits  8
+
  post_data_bits  8
    post_data      0xFF
+
  post_data      0xFF
    gap          131993
+
  gap          131993
    toggle_bit      0
+
  toggle_bit      0
   
+
    begin codes
+
  begin codes
        WheelCC                  0x010000
+
        WheelCC                  0x010000
        WheelCW                  0x000100
+
        WheelCW                  0x000100
        WheelClick              0x000008
+
        WheelClick              0x000008
    end codes
+
  end codes
  end remote
+
end remote
 +
 
 +
Newer versions may require the following two lines to be adjusted:
 +
  post_data_bits  48
 +
  post_data      0xFFFFFF35EE
  
 
====Edit /etc/sysconfig/lircd====
 
====Edit /etc/sysconfig/lircd====
  
Edit /etc/sysconfig/lircd to read as follows
+
Edit /etc/sysconfig/lircd (or /etc/lirc/hardware.conf for Ubuntu) to read as follows
  
  # Options to lircd
+
# Options to lircd
  LIRCD_OPTIONS="--driver=default --device=/dev/lirc_mce --output=/dev/lircd --pidfile=/var/run/lircd.pid --connect=localhost:8765"
+
LIRCD_OPTIONS="--driver=default --device=/dev/lirc_mce --output=/dev/lircd --pidfile=/var/run/lircd.pid --connect=localhost:8765"
  LIRCD1_OPTIONS="--driver=default --device=/dev/lirc_imon --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid --listen"
+
LIRCD1_OPTIONS="--driver=default --device=/dev/lirc_imon --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid --listen"
  
 
Modify the device names according to whatever symlinks you've chosen for your devices.
 
Modify the device names according to whatever symlinks you've chosen for your devices.
Line 58: Line 89:
 
'''Replace''' the line
 
'''Replace''' the line
  
  daemon lircd $LIRCD_OPTIONS
+
<strike>daemon lircd $LIRCD_OPTIONS</strike>
  
 
with these two lines
 
with these two lines
  
  lircd $LIRCD1_OPTIONS
+
lircd $LIRCD1_OPTIONS
  lircd $LIRCD_OPTIONS
+
lircd $LIRCD_OPTIONS
  
 
And '''add''' after the line
 
And '''add''' after the line
  
  killproc lircd
+
killproc lircd
  
another a line that reads
+
another line that reads
  
  killproc lircd1
+
killproc lircd1
 +
 
 +
Note that this will start the first lircd instance with "--listen" then a second instance using "--connect".  You have to start them in this order for it to work.
  
 
====Edit .mythtv/lircrc====
 
====Edit .mythtv/lircrc====
Line 77: Line 110:
 
Add the following section to .lircrc.
 
Add the following section to .lircrc.
  
  begin
+
begin
    prog = mythtv
+
  prog = mythtv
    button = WheelCW
+
  button = WheelCW
    repeat = 1
+
  repeat = 1
    config = ]
+
  config = ]
  end
+
end
 
    
 
    
  begin
+
begin
    prog = mythtv
+
  prog = mythtv
    button = WheelCC
+
  button = WheelCC
    repeat = 1
+
  repeat = 1
    config = [
+
  config = [
  end
+
end
 +
 
 +
You can increase the repeat number to make the wheel less sensitive.  But I've found that it feels the best by letting repeat=1, which makes every notch count.
 +
 
 +
====Restart udev, lircd, and mythfrontend to test====
 +
 
 +
 
 +
----
 +
 
 +
*'''A word of warning:
 +
'''System updates can and most likely will replace these edited files with updated originals.  Making backups of your edited files can assist you in re-creating your edits after a system update, saving you the time of looking up your vendor strings again.
  
You can increase the repeat number to make the wheel less sensitive.  But I've found that it feels the best by letting repeat=1, which makes every notch counts.
 
  
====Restart udev, lircd, and mythfrontend to test===
+
[[Category:Character Displays and Controls]]
 +
[[Category:LIRC_Configuration_Files]]

Latest revision as of 05:30, 7 January 2011

Fusion.jpg

Antec Fusion has this big, nice-looking volume knob. It would also be nice to let it actually do something. The following are the steps I took to make it to work nicely with an MCE remote. My Myth box was based on Fedora Core 6, installed using RPMs from Fedora and ATRpms as much as possible. If you have a system based on another distribution, adapt the steps accordingly.

.


Important.png Note: In mid 2007 Antec released Version 2 of the silver case and a black version. The V2 silver case contains an updated iMon OEM VFD module with integrated IR receiver, which differs from the original case which contained an OEM iMon VFD with no IR receiver. Many (Windows) users on the SoundGraph forum have reported heavy restrictions in the later revision that break compatibility with the earlier version. The black version contains an iMon OEM LCD module which currently does not work with Lirc or LcdPROC(see Imon page for more details). The instructions on this page are currently valid for the original Antec Fusion case and Version 2 of the silver case, and may not be appropriate for the black version.

Update Oct 2007 patch for Black Fusion available here. IR receiver in Black Fusion is working with MCE remotes. Use this guide for a cut and paste howto.



.

Get the VFD to work

I followed the LCDproc page and made the VFD work.

Edit udev rules

There are two lirc devices on the system (in my case, lirc_imon, and lirc_mceusb2), but it's sort of random that which device is assigned lirc0 or lirc1 at boot time. So we need udev to make some symlinks with unique names to point to the correct devices.

Edit /etc/udev/rules.d/lirc.rules, and add the following lines to the end of the file. You need to change the idVendor for your own devices.

KERNEL=="lirc[0-9]*", SYSFS{idVendor}=="0471", SYMLINK+="lirc_mce"
KERNEL=="lirc[0-9]*", SYSFS{idVendor}=="15c2", SYMLINK+="lirc_imon"

If you need info on how to write udev rules, or on how to find out unique SYSFS attributes you can use to write the rules, see here. New versions of udev will need SYSFS to be replaced with ATTR.

For some devices, such as the Hauppauge PVR-150, the idVendor can be tricky to find. In which case, you can try to assign the symlink based in the character device number. Running

ls -l /dev/lirc* 

will show the lirc devices

crw-rw---- 1 root root 61, 0 2008-01-20 19:45 /dev/lirc0
crw-rw---- 1 root root 61, 1 2008-01-20 19:45 /dev/lirc1

If you are confident the latter is the PVR device, you can assign a symlink using

KERNEL=="lirc[0-9]*", ATTR{dev}=="61:1", SYMLINK+="lirc_pvr"

Although this will fail if the assigment is truly random, it usually isn't if you are not making changes to your system, and this trick enables you to follow the rest of this guide.

Add entries to lircd.conf

Following this thread, I added these lines into /etc/lircd.conf

begin remote
  name  ClickWheel
  bits           24
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  post_data_bits  8
  post_data      0xFF
  gap          131993
  toggle_bit      0

  begin codes
       WheelCC                  0x010000
       WheelCW                  0x000100
       WheelClick               0x000008
  end codes
end remote

Newer versions may require the following two lines to be adjusted:

 post_data_bits  48
 post_data      0xFFFFFF35EE

Edit /etc/sysconfig/lircd

Edit /etc/sysconfig/lircd (or /etc/lirc/hardware.conf for Ubuntu) to read as follows

# Options to lircd
LIRCD_OPTIONS="--driver=default --device=/dev/lirc_mce --output=/dev/lircd --pidfile=/var/run/lircd.pid --connect=localhost:8765"
LIRCD1_OPTIONS="--driver=default --device=/dev/lirc_imon --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid --listen"

Modify the device names according to whatever symlinks you've chosen for your devices.

Edit /etc/init.d/lircd

Replace the line

daemon lircd $LIRCD_OPTIONS

with these two lines

lircd $LIRCD1_OPTIONS
lircd $LIRCD_OPTIONS

And add after the line

killproc lircd

another line that reads

killproc lircd1

Note that this will start the first lircd instance with "--listen" then a second instance using "--connect". You have to start them in this order for it to work.

Edit .mythtv/lircrc

Add the following section to .lircrc.

begin
  prog = mythtv
  button = WheelCW
  repeat = 1
  config = ]
end
 
begin
  prog = mythtv
  button = WheelCC
  repeat = 1
  config = [
end

You can increase the repeat number to make the wheel less sensitive. But I've found that it feels the best by letting repeat=1, which makes every notch count.

Restart udev, lircd, and mythfrontend to test


  • A word of warning:

System updates can and most likely will replace these edited files with updated originals. Making backups of your edited files can assist you in re-creating your edits after a system update, saving you the time of looking up your vendor strings again.