Tutorials
Asus AT5IONT-I MiniITX Motherboard

This motherboard has a dual-core Intel® Atom™ processor D525 which uses very little power. It also has an integrated next generation NVIDIA ION graphics processor.

Power Consumption:

1W @ OFF
2W @ Sleep
26W @ Idle
30W @ 1080p h.264 mkv

It has HDMI & DVI-D videooutputs, SPDIF output, analog audio output and 2 USB 3 ports, which makes it perfect for a media centre.

The only disadvantage I could find about this board is that it needs a fan. When I tried to use it fanless, temperature went up to the roof to arounf 80 degrees. I had to install a nearly silent fan on this system to cool it down. Now it runs around 45 degrees when playing a 1080p video.

To find more information about this board check the official site.

Click the following link to Make the Audio of the Asus AT5IONT-I MiniITX Motherboard work in Linux.

If you want to use a DVI to HDMI cable and you still want to get audio on that monitor, you might have to use a trick to disable the hdmi audio from the edid information of the monitor. This way the monitor will use analog input instead of the hdmi audio input that most likely will have no sound. Check the DVI to HDMI analog audio section.

Making the Audio of the Asus AT5IONT-I MiniITX Motherboard work in Linux

If you find the information of this website useful please click on the Google ads as they help me keep this site and provide some monetary support to buy new hardware to keep on testing.

This motherboard works out of the box in Linux, however if you want to use its full potential like Vdpau and audio over hdmi you'll need to install the Nvidia proprietary driver. I have written detailed instructions on How to Install the Nvidia Linux Driver.

Once the Nvidia driver is installed and running, the video should work instantly, the audio has to be configured though.

Since I'm using the KDE windows manager and I'm not so sure how the integration of pulse audio and KDE is going on, I decided to disable pulse audio in Fedora 14.

The other thing that I'm doing is enabling all the audio outputs at the same time by default: analog, spdif and hdmi.

To disable pulse audio:

yum remove alsa-plugins-pulseaudio pulseaudio padevchooser pavumeter paprefs pavucontrol

To configure the Nvidia driver, create a modprove file like this:

echo 'options snd-hda-intel enable_msi=0 probe_mask=0xffff,0xfff2' >> /etc/modprobe.d/snd_hda_intel.conf

Reboot the computer.

Once the computer is back on, check the adio devices:

aplay -l

This motherboard returns:

**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC887 Analog [ALC887 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC887 Digital [ALC887 Digital]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

This means:

Card 0, device 0 is analog audio
Card 0, device 1 is spdif digital output
Card 1, device 3 is hdmi digital output

Since I want to have all 3 outputs working at the same time, I created the following ~/.asoundrc file:

# ~/.asoundrc or /etc/asound.conf
# ALSA configuration file

##### USAGE #####
# Save this file as "~/.asoundrc" (for user-specific sound configuration) or
# "/etc/asound.conf" (for system-wide sound configuration) and specify ALSA
# device names ad described in the next section.


##### DEVICE NAMES #####
# This configuration file defines four devices for use by the user.  Those
# devices are "analog", "mixed-analog", "digital", and "mixed-digital".  The
# user may also re-define "default" to be identical to one of the above-named
# devices (i.e. to send all sound output to the digital output unless otherwise
# specified).  Use the device names as described below:
#  - "analog" outputs to the analog output directly and (at least on software
#  sound cards) blocks other audio output.  After playback completes, "queued"
#  sounds are output in sequence.
#  - "mixed-analog" mixes audio output from multiple programs into the analog
#  output (so you can hear beeps, alerts, and other noises while playing back
#  an audio stream).
#  - "digital" outputs to the digital output directly.  Since most (all?)
#  digital outputs expect 48kHz PCM audio, this may not work for some playback
#  (i.e. CD's--which are 44.1kHz PCM audio--or 32kHz audio streams from TV
#  recordings, etc.).
#  - "mixed-digital"

# All other devices created within this file are used only by the configuration
# file itself and should /not/ be used directly.  In other words, do not use
# the devices "analog-hw", "dmix-analog", "digital-hw", or "dmix-digital".


##### IMPORTANT #####
# To make this ALSA configuration file work with your sound card, you will need
# to define the appropriate card and device information for the "analog-hw" and
# "digital-hw" devices below.  You can find the card and device information
# using "aplay -l".


##### Configuration File #####

# Override the default output used by ALSA.  If you do not override the
# default, your default device is identical to the (unmixed) "analog" device
# shown below.  If you prefer mixed and/or digital output, uncomment the
# appropriate four lines below (only one slave.pcm line).
#
# Note, also, that as of ALSA 1.0.9, "software" sound cards have been modified
# such that their default "default" device is identical to the "mixed-analog"
# device.  Whether using an ALSA version before or after 1.0.9, it does no harm
# and has no affect on performance to redefine the device (even if the
# redefinition does not change anything).  Also, by using this ALSA
# configuration file, you once again have access to unmixed analog output using
# the "analog" device.
pcm.!default {
  type plug
## Uncomment the following to use (unmixed) "analog" by default
#  slave.pcm "analog-hw"
## Uncomment the following to use "mixed-analog" by default
  slave.pcm "dmix-analog"
## Uncomment the following to use (unmixed) "digital" by default
#  slave.pcm "digital-hw"
## Uncomment the following to use "mixed-digital" by default
#  slave.pcm "dmix-digital"
}

# Control device (mixer, etc.) for the card
ctl.!default {
  type hw
  card 0
}

# Alias for (converted) analog output on the card
# - This is identical to the device named "default"--which always exists and
# refers to hw:0,0 (unless overridden)
# - Therefore, we can specify "hw:0,0", "default", or "analog" to access analog
# output on the card
# - Note that as of ALSA 1.0.9, "software" sound card definitions redefine
# "default" to do mixing, meaning this device is different from "default" and
# allows playback while blocking other sound sources (until playback
# completes).
pcm.analog {
  type plug
  slave.pcm "analog-hw"
  hint {
    show on
    description "Analog Output - Use analog outputs, converting samples, format, and rate as necessary."
  }
}

# Control device (mixer, etc.) for the card
ctl.analog {
  type hw
  card 0
}

# Alias for (converted) mixed analog output on the card
# - This will accept audio input--regardless of rate--and convert to the rate
# required for the dmix plugin (in this case 48000Hz)
# - Note that as of ALSA 1.0.9, "software" sound card definitions redefine
# "default" to do mixing, meaning this device is identical to "default" for
# "software" sound cards.
pcm.mixed-analog {
  type plug
  slave.pcm "dmix-analog"
  hint {
    show on
    description "Mixed Analog Output - Use analog outputs, converting samples, format, and rate as necessary. Allows mixing with system sounds."
  }
}

# Control device (mixer, etc.) for the card
ctl.mixed-analog {
  type hw
  card 0
}

# Alias for (converted) digital (S/PDIF) output on the card
# - This will accept audio input--regardless of rate--and convert to the rate
# required for the S/PDIF hardware (in this case 48000Hz)
pcm.digital {
  type plug
  slave.pcm "digital-hw"
  hint {
    show on
    description "Digital Output - Use digital outputs, converting samples, format, and rate as necessary."
  }
}

# Control device (mixer, etc.) for the card
ctl.digital {
  type hw
  card 0
}

# Alias for mixed (converted) digital (S/PDIF) output on the card
#  - This will accept audio input--regardless of rate--and convert to the rate
#  required for the S/PDIF hardware (in this case 48000Hz)
pcm.mixed-digital {
  type plug
  slave.pcm "dmix-digital"
  hint {
    show on
    description "Mixed Digital Output - Use digital outputs, converting samples, format, and rate as necessary. Allows mixing with system sounds."
  }
}

# Control device (mixer, etc.) for the card
ctl.mixed-digital {
  type hw
  card 0
}



# Alias for (converted) digital HDMI output on the card
# - This will accept audio input--regardless of rate--and convert to the rate
# required for the S/PDIF hardware (in this case 48000Hz)
pcm.digital2 {
  type plug
  slave.pcm "digital2-hw"
  hint {
    show on
    description "Digital HDMI Output - Use digital outputs, converting samples, format, and rate as necessary."
  }
}

# Control device (mixer, etc.) for the card
ctl.digital2 {
  type hw
  card 1
}

# Alias for mixed (converted) digital (S/PDIF) output on the card
#  - This will accept audio input--regardless of rate--and convert to the rate
#  required for the S/PDIF hardware (in this case 48000Hz)
pcm.mixed-digital2 {
  type plug
  slave.pcm "dmix-digital2"
  hint {
    show on
    description "Mixed HDMI Digital Output - Use digital outputs, converting samples, format, and rate as necessary. Allows mixing with system sounds."
  }
}

# Control device (mixer, etc.) for the card
ctl.mixed-digital2 {
  type hw
  card 1
}






# The following devices are not useful by themselves.  They require specific
# rates, channels, and formats.  Therefore, you probably do not want to use
# them directly.  Instead use of of the devices defined above.

# Alias for analog output on the card
# Do not use this directly--it requires specific rate, channels, and format
pcm.analog-hw {
  type hw
  card 0
  # The default value for device is 0, so no need to specify
#  - Uncomment one of the below or create a new "device N" line as appropriate
#    for your sound card
#  device 1
#  device 4
}

# Control device (mixer, etc.) for the card
ctl.analog-hw {
  type hw
  card 0
}

# Alias for digital (S/PDIF) output on the card
# Do not use this directly--it requires specific rate, channels, and format
pcm.digital-hw {
  type hw
  card 0
  device 1
#  - Comment out "device 1" above and uncomment one of the below or create a
#    new "device N" line as appropriate for your sound card
#  device 2
#  device 4
}

# Control device (mixer, etc.) for the card
ctl.digital-hw {
  type hw
  card 0
}


# Alias for digital hdmi output on the card
# Do not use this directly--it requires specific rate, channels, and format
pcm.digital2-hw {
  type hw
  card 1
  device 3
}

# Control device (mixer, etc.) for the card
ctl.digital2-hw {
  type hw
  card 1
}


# Direct software mixing plugin for analog output on the card
# Do not use this directly--it requires specific rate, channels, and format
pcm.dmix-analog {
  type dmix
  ipc_key 1234
  slave {
    pcm "analog-hw"
    period_time 0
    period_size 1024
    buffer_size 4096
    rate 48000
  }
}

# Control device (mixer, etc.) for the card
ctl.dmix-analog {
  type hw
  card 0
}

# Direct software mixing plugin for digital (S/PDIF) output on the card
# Do not use this directly--it requires specific rate, channels, and format
pcm.dmix-digital {
  type dmix
  ipc_key 1235
  slave {
    pcm "digital-hw"
    period_time 0
    period_size 1024
    buffer_size 4096
    rate 48000
  }
}

# Control device (mixer, etc.) for the card
ctl.dmix-digital {
  type hw
  card 0
}



# Direct software mixing plugin for digital HDMI output on the card
# Do not use this directly--it requires specific rate, channels, and format
pcm.dmix-digital2 {
  type dmix
  ipc_key 1235
  slave {
    pcm "digital2-hw"
    period_time 0
    period_size 1024
    buffer_size 4096
    rate 48000
  }
}

# Control device (mixer, etc.) for the card
ctl.dmix-digital2 {
  type hw
  card 1
}


pcm.!default {
  type plug
  slave {
    pcm multi
    rate 48000
  }

  ttable.0.0 1.0
  ttable.1.1 1.0
  ttable.0.2 1.0
  ttable.1.3 1.0
  ttable.0.4 1.0
  ttable.1.5 1.0
}




pcm.stereo {
  type plug
  slave {
    pcm multi
    rate 48000
  }
  ttable.0.0 1.0
  ttable.1.1 1.0
  ttable.0.2 1.0
  ttable.1.3 1.0
  ttable.0.4 1.0
  ttable.1.5 1.0
}

ctl.stereo {
  type hw
  card 0
}

pcm.multi {
  type multi
  slaves.a.pcm "analog-hw"
  slaves.a.channels 2
  slaves.b.pcm "digital-hw"
  slaves.b.channels 2
  slaves.c.pcm "digital2-hw"
  slaves.c.channels 2
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave b
  bindings.2.channel 0
  bindings.3.slave b
  bindings.3.channel 1
  bindings.4.slave c
  bindings.4.channel 0
  bindings.5.slave c
  bindings.5.channel 1
}

ctl.multi {
  type hw
  card 0
}

 

Reboot the computer, run alsamixer and unmute all digital outputs. Make sure you unmute the hdmi digital ouput which is in card 1. To switch cards press F6 and to mute/unmute press the space bar.

This file generates four different sort of outputs:

Alsa:default

Makes all the outputs work at the same time

Alsa:analog
Alsa:digital
Alsa:digital2

Alsa:digital is the spdif output and Alsa:digital2 is the hdmi digital output.

Audio should be working now in all the outputs.

DVI to HDMI Analog Audio

Newer nVidia hardware supports audio over HDMI. When a display device notifies the drivers that it will accept audio, the card will provide an audio stream. This will occur on both HDMI and DVI ports, whether or not the card has pass-through audio inputs. Some TVs will automatically use this empty audio stream, and have no option to switch to another input like the analog one.

To solve this issue, you'll have to get the EDID info of the TV and then use a program to remove the audio info from the EDID file.

Acquire EDID Block

In order to resolve this, the nVidia drivers must be provided a modified EDID block saying the TV does not support audio. On nVidia hardware, there are two ways to acquire the original EDID block.

Using nvidia-settings

This method requires you have a mouse and keyboard attached to the machine.

  1. Run 'nvidia-settings' on the local X-Server
  2. Look for a section that says GPU-0 (ION)
  3. Inside that section click the entry corresponding to your TV (e.g. DFP-0)
  4. Click 'Acquire EDID' and save the 'edid.bin' file

Using nvidia-xconfig

This method can be performed completely from a text console.

  1. Run an X server with enough verbosity to print out the EDID block

    startx -- -logverbose 6

  2. After the X-Server has finished initializing, close it
  3. Find your log file, it will probably be in /var/log/Xorg.0.log
  4. Extract the EDID block using nvidia-xconfig

    nvidia-xconfig --extract-edids-from-file=/var/log/Xorg.0.log --extract-edids-output-file=edid.bin

 

Modify EDID Block

The EDID block contains a block listing capable extensions, which must be removed. A program to do this is available at analogbit.com. Download 'edid_disable_exts' and compile if necessary.

mkdir /video/support/edid
cd /video/support/edid
wget analogbit.com/sites/default/files/edid_disable_exts_v1.2.tgz
tar xvfz edid_disable_exts_v1.2.tgz
cd edid_disable_exts
make

If the compilation worked, you should have a binary in that folder called 'edid_disable_exts'

If you copied your edid.bin to /etc/X11, then the command to modify the edid.bin would be:

./edid_disable_exts --to-dvi /etc/X11/edid.bin /etc/X11/edid_modified.bin

The edid_modified.bin file has the EDID information of the monitor with the audio removed.

Apply Modified EDID

Open your /etc/X11/xorg.conf file, and go to the Device section for your video card. Add the line

Option "CustomEDID" "DFP-0:/etc/X11/edid_modified.bin"

to tell the driver to use your custom block rather than acquiring one from your TV. The changes will take effect after a restart of X.

Continue Shoppping View Cart
Continue Shoppping View Wishlist