Zotac Zbox AD04

From LinuxMCE
Revision as of 03:42, 10 May 2014 by Jamo (Talk | contribs) (Install Latest Catalyst Driver (fglrx))

Jump to: navigation, search
Version Status Date Updated Updated By
710 Unknown N/A N/A
810 Unknown N/A N/A
1004 Works with some hacks 05th December 2012 jamo
1204 Works with some hacks 13th March 2014 jamo
1404 Unknown N/A N/A
Usage Information

Media Director General info

http://www.zotacusa.com/zbox-ad06.html

Technical Details

  • CPU - AMD E-450 APU 1.65GHz Dual-Core
  • AMD Radeon HD 6320 GPU
  • HD Analog Audio, Optical digital S/PDIF output
  • Onboard Gb LAN
  • 802.11b/g/n wifi
  • Bluetooth
  • 1 2.5-inch SATA 6.0 Gb/s hard drive connection, 2 204-pin DDR3-1333 SO-DIMM slots - up to 8Gb memory
  • HDMI (1080p with 8-channel audio), Dual-link DVI, HDCP compliant, VGA (with DVI-to VGA adapter)
  • Compatible, DirectCompute ready, OpenGL 3.2 compatible, OpenGL compatible, Integrated 802.11n WiFi
  • 2x USB 3.0, 4x USB 2.0

Getting AD04 working under 12.04

Setting up PXE boot

You have to press "Del" key during POST just after ZOTAC sign appears on screen to enter BIOS. In my system, you could use the keyboard to navigate BIOS but the highlighting didn't work well so when you went "down" a menu you had to count your keypreses to figure out which option you were on before pressing enter.

First boot

Once PXE boot is working, device should happily boot from Gig NIC connected to internal linuxMCE network. It will follow the normal pattern of MD creation up to the third reboot where it gets into a loop trying to sort out the video card. You will be left at the last text message - "trying to load: pxelinux.cfg/xx-xx-xx-xx-xx-xx" or something as it flashes the screen clearly trying to start X, failing and dropping back to this point. This happens about 20 times before you miraculously end up in AVWiz.

AVWiz will let you choose 1080p, UI2 (medium), sound over HDMI with no issues.

You may have a TV underscan black border, depending on your TV. My Hisense 40" LCD does require tweaking (see below).

However, I found that with the default driver installed above, there were the following issues:

  1. youtube videos are extremely jerky
  2. if screensaver kicks in when you're on firefox (youtube or other) you have to quick reload router to get out of it
  3. playback of normal videos is slightly jerky
  4. No nice alpha blending

I solved most of these issues by upgrading to the latest catalyst driver as outlined below. After doing this, video playback was noticably better, youtube was much better, certainly watchable, the screensaver issues were gone and I had alpha blending.

Install Latest Catalyst Driver (fglrx)

Download the latest ATI driver for Linux. At the time of writing it was 13.35 (download file is called Linux_AMD_Catalyst_14.3_Beta_V1.0_B22_March12_2014.zip) You need to get the zip file onto your MD- the way I did it was to sftp it to the core and then moved it into the root drive of the appropriate MD /usr/pluto/diskles/XX/root where XX is the media director number. You will need to do all this as root on the core.

ssh into MD as root from core

Unzip driver and make script executable

unzip Linux_AMD_Catalyst_14.3_Beta_V1.0_B22_March12_2014.zip

That creates a folder called fglrx-13.35.1005 Inside that folder is amd-driver-installer-13.35.1005-x86.x86_64.run Make sure it is executable... if necessary add the executable bit:

chmod a+x amd-driver-installer-13.35.1005-x86.x86_64.run

Now we need to try to purge existing drivers

apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*

On my system this threw errors which meant fglrx wasn't completely removed so I had to use the force option when running the installer:

./amd-driver-installer-13.35.1005-x86.x86_64.run --force

Takes a while... just follow the prompts and accept the licence. Then, when done, configure. You need to stop X before configuring:

/usr/pluto/bin/Stop_X.sh

Now configure

aticonfig --initial -f
aticonfig --sync-vsync=on
aticonfig --set-pcs-u32=MCIL,HWUVD_H264Level51Support,1

If your TV had black borders, like my Hisense, disable underscan:

aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0

That should sort it out. Reboot the machine with AVWiz and it should work!

/usr/pluto/bin/RebootWithAVWizard.sh


Note, I also installed xvba as follows but I don't think it actually achieved anything:

apt-get install xvba-va-driver libva-glx1 vainfo
vi /etc/environment:
LIBVA_DRIVER_NAME=xvba
LIBVA_DRIVERS_PATH=/usr/lib/va/drivers

Bundled MCE remote

still working on this....

Getting AD04 working under 10.04

Setting up PXE boot

First boot

Once PXE boot is working, device should happily boot from Gig NIC connected to internal linuxMCE network. It will follow the normal pattern of MD creation up to the second or third reboot where it gets into a rebooting loop, ended by the error "firstrun exited outside normal code flow". I believe this is because the fglrx driver which is correctly installed for the video card, has a bug which makes it not recognise the video card. This is a bug of fglrx (catalyst) 2.6.

If you leave it, the reboot loop happens 4-5 times and then, surprisingly, goes to avwiz. However, avwiz won't let you get any better graphics than 720p UI1 which isn't very nice considering he capabilities of the graphics card and, probably your display. So,to sort this out, before running AVWiz* you need to get in and install the latest catalyst driver as described in the following section.

Install Latest Catalyst Driver (fglrx)

  • At this point (before going through AVWiz) I ssh into the new MD from the core as root and run
apt-get update
apt-get upgrade

To bring all the updated packages in. But don't reboot yet or the system will try to sort itself out with L3's backport stuff which doesn't work at the moment, at least not for me. Rather manually remove as much of fglrx as you can and then install the latest catalyst driver.

apt-get --purge remove xorg-driver-fglrx fglrx fglrx-modalias* fglrx-amdcccle fglrx-kernel-source xorg-driver-fglrx-dev

There may be more you can remove... in the end I still ran the catalyst install with --force because it seemed to think there was an existing driver installed but this was all I could find. Then download the latest catalyst driver, unzip and run it-

wget http://www2.ati.com/drivers/linux/amd-driver-installer-catalyst-13-4-x86.x86_64.zip
unzip amd-driver-installer-catalyst-13-4.10-x86.x86_64.zip
chmod a+x amd-driver-installer-catalyst-13-4-x86.x86_64.run
./amd-driver-installer-catalyst-13-4-x86.x86_64.run

Go through the install... next next next essentially. If it whines about existing install and you feel you've removed all fglrx packages you can, then

./amd-driver-installer-catalyst-13-4-x86.x86_64.run --force

Will prevent that check.

On some TVs, you get a black border around the picture. I gather this is caused by underscan. The aticonfig command allows you to disable underscan but this setting does not survive reboot unless you do it while X is not running! Tricky... so you have to ssh into the MD from somewhere (as root) and then run

/usr/pluto/bin/Stop_X.sh
aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0

That should sort it out. Reboot the machine and the black border should be gone!

Sound over HDMI

To get this to work I had to set

AlternateSC = 1
in /etc/pluto.conf

Bundled MCE remote

Remote appears to emulate a USB keyboard out the box. This has limited use in UI2 as only the arrow keys, "ok" = click, and "enter" are useful. Experimenting with steps from the following thread: http://wiki.xbmc.org/index.php?title=HOW-TO:Install_XBMC_on_Ubuntu_with_AMD_GPU#Step_13:_Configuring_Remote_Control to try to get it working. Steps followed (ssh to MD as root):

  • Install requirements
apt-get install automake dialog libtool
  • Download the version from FernetMenta
wget https://github.com/FernetMenta/lirc/tarball/master -O lirc.tar.gz
  • Extract, configure and install:

When you will run setup.sh, choose select driver "zotac" under usb, then save & configure

tar -xvf ./lirc.tar.gz
cd FernetMenta-lirc-c336b00/
./autogen.sh
./setup.sh
make
make install
  • Create links /usr/sbin:
cd /usr/sbin
ln -s ../local/sbin/lircd lircd
ln -s ../local/sbin/lircmd lircmd
  • Stop X11 from registering device as keyboard <== I haven't been able to do this because I couldn't find the file mentioned below. Included for later.

IMPORTANT INFORMATION!!! Xorg update could overwrite this file, if you later experience some kind of strange key repeating, sometime infinite and always boring, it may have been overwritten! In this case, just redo this step and you're done ^^ Edit "/usr/share/X11/xorg.conf.d/10-evdev.conf" and place the following code at the begining of the file: <=== I couldn't find this file

Section "InputClass"
  Identifier "PHILIPS MCE USB IR Receiver- Spinel plus"
  MatchProduct "PHILIPS MCE USB IR Receiver- Spinel plus"
  MatchIsKeyboard "true"
  Option "Ignore" "true"
EndSection
  • Find vendor and product ids for remote from the appropriate section
cat /proc/bus/input/devices 

.
.
I: Bus=0003 Vendor=0471 Product=20cc Version=0100
N: Name="PHILIPS MCE USB IR Receiver- Spinel plus"
P: Phys=usb-0000:00:12.0-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:12.0/usb4/4-1/4-1:1.0/input/input4
U: Uniq=
H: Handlers=kbd event4
B: EV=120013
B: KEY=c0000 400 0 0 0 0 58000 8001f8 4000c004 e0beffdf 1cfffff ffffffff fffffffe
B: MSC=10
B: LED=1f
.
.
  • Add a alias in udev to /dev/remote by creating a new file at /etc/udev/rules.d/10-local.rules with the following:
SUBSYSTEM=="usb" , ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20cc", SYMLINK+="remote", ACTION=="add", RUN+="/sbin/initctl --quiet emit --no-wait ir-ready"
  • Replace (in my case create) the current version of /etc/lirc/hardware.conf with:
# hardware.conf for Zotac
#
REMOTE="Zotac MCE Remote"
REMOTE_MODULES=""
REMOTE_DRIVER="zotac"
REMOTE_DEVICE="/dev/remote"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="zotac/lircd.conf.zotac"
REMOTE_LIRCD_ARGS=""
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
START_LIRCD="true"
LOAD_MODULES="true"
LIRCMD_CONF=""
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""
  • Replace (in my case not necessary, it already existed and was much the same!) the current version of /etc/lirc/lircd.conf with:
# Please make this file available to others
# by sending it to
#
# this config file was automatically generated
# using lirc-0.9.1-git(zotac) on Mon Apr  2 14:10:29 2012
#
# contributed by
#
# brand:                       zotac.conf
# model no. of remote control:
# devices being controlled by this remote:
#

begin remote

  name  zotac.conf
  bits           32
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  gap          100123
  min_repeat      9
#  suppress_repeat 9
#  uncomment to suppress unwanted repeats
#  toggle_bit_mask 0x7004F

      begin codes
          KEY_SLEEP                0x00010082
          KEY_WAKEUP               0x00010083
          KEY_RECORD               0x000C00B2
          KEY_PAUSE                0x000C00B1
          KEY_STOP                 0x000C00B7
          KEY_REWIND               0x000C00B4
          KEY_PLAY                 0x000C00B0
          KEY_FORWARD              0x000C00B3
          KEY_LEFTSHIFT            0x000C00B6
          KEY_RIGHTSHIFT           0x000C00B5
          KEY_BACK                 0x000C0224
          KEY_INFO                 0x000C0209
          KEY_MENU                 0xFFBC000D
          KEY_UP                   0x00070052
          KEY_LEFT                 0x00070050
          KEY_RIGHT                0x0007004F
          KEY_DOWN                 0x00070051
          KEY_OK                   0x00070028
          KEY_VOLUMEUP             0x000C00E9
          KEY_VOLUMEDOWN           0x000C00EA
          KEY_MUTE                 0x000C00E2
          KEY_CHANNELUP            0x000C009C
          KEY_CHANNELDOWN          0x000C009D
          KEY_1                    0x0007001E
          KEY_2                    0x0007001F
          KEY_3                    0x00070020
          KEY_4                    0x00070021
          KEY_5                    0x00070022
          KEY_6                    0x00070023
          KEY_7                    0x00070024
          KEY_8                    0x00070025
          KEY_9                    0x00070026
          KEY_0                    0x00070027
          KEY_NUMERIC_STAR         0x10070025
          KEY_NUMERIC_POUND        0x10070020
          KEY_CLEAR                0x00070029
          KEY_TEXT                 0xFFBC005A
          KEY_TITLE                0x000C008D
          KEY_ENTER                0x00070028
          KEY_RED                  0xFFBC005B
          KEY_GREEN                0xFFBC005C
          KEY_YELLOW               0xFFBC005D
          KEY_BLUE                 0xFFBC005E
      end codes

end remote
  • reboot

I then followed the steps in http://wiki.linuxmce.org/index.php/Adding_iMON_PAD

and pasted the config file (lircd.conf) into the configuration data I added in the new template. Then chose "Spine 1 plus" as remote for my MD.... still waiting to see if it works.

Current issues on 10.04

Links