# ASUS N550JV

Device | Status | Modules
Intel | Working | xf86-video-intel
Nvidia | Working | nouveau or nvidia
Ethernet | Working | r8169
Wireless | Working | ath9k
Audio | Working | snd_hda_intel
Touchpad | Working | xf86-input-synaptics
Camera | Working | linux-uvc
Card Reader | Working | rtsx_usb
Bluetooth | Working |

ASUS N550JV - this article covers hardware specific configuration. All topics covered can be performed after an installation of Arch Linux has been finished and the machine rebooted into it.

For a general overview of laptop-related articles and recommendations, see Laptop.

## Configuration

### Video

Install bumblebee along with Nvidia and Intel drivers. Add the kernel parameter `rcutree.rcu_idle_gp_delay=1` to your bootloader configuration, so that optirun will not fail to start.

### Audio

Install PulseAudio.

After installation, reboot the laptop to ensure all modules are loaded. Check if the fallback device is correctly set to Build-in Audio Analog Stereo with pavucontrol. See PulseAudio/Troubleshooting#Fallback device is not respected for more information. Also check for muted devices:

    $ alsamixer -c PCH

Note: alsa-utils provides `alsamixer` and `amixer` shell programs.

### Keyboard

#### Brightness

`FN+F5` and `FN+F6` will not produce any output (will not work) untill you use the kernel parameter `acpi_osi=` to your bootloader. It's indeed followed by a blank space.

In some cases, `FN+F3` and `FN+F4` might not work out of box with some desktop environments, so install asus-kbd-backlightAUR from the AUR. Load the module to control hotkeys:

    # modprobe asus-nb-wmi

and start and enable the `asus-kbd-backlight.service`.

Now you can take control over the keyboard backlight:

    $ asus-kbd-backlight up
    $ asus-kbd-backlight down
    $ asus-kbd-backlight max
    $ asus-kbd-backlight off
    $ asus-kbd-backlight night
    $ asus-kbd-backlight 2
    $ asus-kbd-backlight show

#### Incorrectly mapped buttons

`Media` and `FN+F7` buttons are not mapped correctly. It is not necessary to remap `FN+F7` shortcut, because it works without any additional configuration.

Install xorg-xmodmap, which provides app `xmodmap`. Generate a xmodmap config file if you haven't done it already:

    $ xmodmap -pke > ~/.Xmodmap

Then open it and locate keycode 234:

    ~/.Xmodmap

    ...
    keycode 233 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp
    keycode 234 = XF86AudioMedia NoSymbol XF86AudioMedia
    keycode 235 = XF86Display NoSymbol XF86Display
    ...

Now move `XF86AudioMedia NoSymbol XF86AudioMedia` text on the empty keycode 248 and leave keycode 234 empty:

    ~/.Xmodmap

    ...
    keycode 234 =
    ...
    ...
    ...
    keycode 247 =
    keycode 248 = XF86AudioMedia NoSymbol XF86AudioMedia
    keycode 249 =
    ...

Optionally, for `FN+F7` give some value on keycode 253.

    ~/.Xmodmap

    ...
    keycode 252 =
    keycode 253 = XF86Launch0 NoSymbol XF86Launch0
    keycode 254 =
    ...

The next step is apply changes:

    $ xmodmap ~/.Xmodmap

Test with `xev` or try to bind something on media button. `FN+F7` should be controlled by hardware and switch display without any additional configuration. Also, if you are satisfied, put the command above to Xinitrc.

    ~/.xinitrc

    { sleep 10; xmodmap ~/.Xmodmap; } &

## Troubleshooting

### Audio

##### Dual boot

If you boot your laptop right after Windows to Linux, sound might only work through headphones jack, but not through speakers and subwoofer. The quick fix is to suspend your laptop and resume it back.

##### Bug

The internal speakers seems not to play any sound until volume is being increased significantly. This also occurs on Windows operation system as well as on Linux.

#### Sound pops twice during shutdown and sleep

This article or section is out of date.

Reason: This might be outdated. Please visit discussion page if you have any useful information. (Discuss in Talk:ASUS N550JV#)

Create new file:

    /etc/systemd/system/beep-disable.service

    [Unit]
    Description=Unloads audio module to prevent beep on shutdown
    DefaultDependencies=no

    [Service]
    Type=oneshot
    ExecStart=/bin/sh -c 'rmmod snd_hda_intel'

    [Install]
    WantedBy=shutdown.target suspend.target

and one more:

    /etc/systemd/system/beep-disable-wakeup.service

    [Unit]
    Description=Load sound module back on system resume
    After=suspend.target
    Wants=local-system-resume.service
    Before=local-system-resume.service

    [Service]
    Type=oneshot
    ExecStart=/bin/sh -c 'modprobe snd_hda_intel'

    [Install]
    WantedBy=suspend.target

Then enable `beep-disable.service` and `beep-disable-wakeup.service` as root.

### Power

#### Messages during console login

After booting up, when Linux asks you to enter your login and password, some messages might appear similar to these:

    Nouveau E[    PBUS][0000:01:00.0] MIMO write of 0x00000002 FAULT at 0x4188ac [ IBUS]
    Nouveau E[    DRM] Pointer to TMDS table invalid
    Nouveau E[    DRM] Pointer to flat panel table invalid

The quick fix for that is to press Enter several times so you will see `Login:` again. Use graphical login manager instead of command line.

#### RF Kill Switch

You might get this message during boot, but the number after rfkill (e.g. rfkill2) could be different:

    Failed to start Load/Save RF Kill Switch Status of rfkill2

The first thing you should try is to install rfkill. If the messages remains - just ignore it.

#### Freezing on resume

When system is being suspended, it could freeze on wake up. This can be avoided by creating these two systemd service files:

    /etc/systemd/system/root-suspend.service

    [Unit]
    Description=Local system suspend actions
    Before=sleep.target

    [Service]
    Type=oneshot
    ExecStart=-/usr/bin/rmmod ehci_pci ; /usr/bin/rmmod ehci_hcd ; /usr/bin/rmmod xhci_pci ; /usr/bin/rmmod xhci_hcd

    [Install]
    WantedBy=sleep.target

and this one:

    /etc/systemd/system/root-resume.service

    [Unit]
    Description=Local system resume actions
    After=suspend.target

    [Service]
    Type=oneshot
    ExecStart=/usr/bin/modprobe ehci_hcd ; /usr/bin/modprobe ehci_pci ; /usr/bin/modprobe xhci_hcd ; /usr/bin/modprobe xhci_pci

    [Install]
    WantedBy=suspend.target

Then enable `root-suspend.service` and `root-resume.service` as root.

### Display brightness

It might happen that display brightness adjustment will not work even when the kernel parameter is used. In this case, make sure you are still using kernel parameter `acpi_osi=` and load the `asus_nb_wmi` module with the following command:

    # modprobe asus_nb_wmi

## Tips and tricks

### Touchpad switch

The touchpad can be toggled using a `xinput` script.

### Special keys for window managers

If you prefer using a Window manager rather than a Desktop environment, most settings will not work out of the box, so you might need to manually bind every single `FN` button combination. How to bind, see Extra keyboard keys in Xorg.

FN buttons output
Buttons | Output
--- | ---
Media Button | XF86AudioMedia (xmodmap)
FN + F1 | XF86Sleep
FN + F2 | XF86WLAN
FN + F3 | XF86KbdBrightnessDown
FN + F4 | XF86KbdBrightnessUp
FN + F5 | XF86MonBrightnessDown
FN + F6 | XF86MonBrightnessUp
FN + F7 | XF86Launch0 (xmodmap)
FN + F8 | XF86Display
FN + F9 | XF86TouchpadToggle
FN + F10 | XF86AudioMute
FN + F11 | XF86AudioLowerVolume
FN + F12 | XF86AudioRaiseVolume
FN + C | XF86Launch1
FN + V | XF86WebCam
FN + Space | XF86Launch6
FN + NumEnter | XF86Calculator
FN + Left | XF86AudioPrev
FN + Right | XF86AudioNext
FN + Up | XF86AudioStop
FN + Down | XF86AudioPlay
FN + Delete | Insert

Category:

- ASUS