[Linux] Fixing some problems in xbmcfreak-1000-maverick-v2
#1
Hello

I write this here because in xbmcfreak site the forums seem to be in a mix of a languaje I do not understand (dutch?) and english.

I've installed xbmcfreak-1000-maverick-v2.iso and it mostly works, but I still have a number of problems. My hardware is an ASUS AT3IONT-I (atom 330, ION chipset) with 2GB RAM and a 2.5' 320GB HD.

I have now two remotes connected, and MCE-usb one (HP branded) and the original xbox DVD remote connected with an adapter to usb. The xbox remote does not work at all, is as it didn't exist. The MCE works but very very slow, you must keep a key pressed for like 5 seconds for it to be recognized.

First, the things I've fixed, maybe it can be helpful for others and also a light for detecting other problems.

The commands are all of the executed as user root.

When installing xbmclive, at some point you are asked for an username and password. I did not enter "xbmc" there, but another username ("paco")

Everything was apparently OK, xbmc started and mostly was fine. But when I tried to connect from another computer with samba, I couldn't. I saw that smbd was not running, and in /var/log/samba/log.smbd there was indeed an error:

passdb/pdb_interface.c:259(guest_user_info)
guest_user_info: Unable to locate guest account [xbmc]!


So, It could not run because the guest account (xbmc) did not exist.

I tried

smbpasswd -a xbmc

but could not add the user because it did not exist as a linux user, so I did

useradd xbmc

and the added it to samba users:

smbpasswd -a xbmc

started smbd and I could at last connect from a windows computer.

The problem was, when I restarted the machine, xbmc did not appear! the system just asked (in text node) for an user to login. I could login as "paco" and the run startx and xbmc started, but that wasn't a solution.

I was baffled for quite a long time trying to find what happened, and then tried to undo all my changes. When I tried "userdel xbmc" it said that it could not delete it because the user was logged in... bingo! that was the problem. "ps -ef | grep xbmc" revealed a number of processes running for user xbmc, I killed them all and then I deleted the user. Then I edited /etc/samba/smb.conf and changed the guest user to "paco", then "smbpasswd -a paco" and "reboot now" and everything was OK again, the machine started xbmc with no trouble.

So, if you install xbmc-live with an user different to "xbmc" you cannot add it later, or xbmc will not start automatically.

Also, when using "suspend", neither remote could at firs wake up the system, now I have the MCEUSB one that DOES wake xbmc.

From cat /proc/acpi/wakeup:
Code:
Device  S-state   Status   Sysfs node
SMB0      S4    *enabled   pci:0000:00:03.2
USB0      S4    *enabled   pci:0000:00:04.0
USB2      S4    *enabled   pci:0000:00:04.1
US15      S4    *enabled   pci:0000:00:06.0
US12      S4    *enabled   pci:0000:00:06.1
PBB0      S4    *disabled  pci:0000:00:09.0
HDAC      S4    *disabled  pci:0000:00:08.0
XVR0      S4    *disabled  pci:0000:00:0c.0
XVR1      S4    *disabled
P0P5      S4    *disabled
P0P6      S4    *disabled  pci:0000:00:15.0
P0P7      S4    *disabled
P0P8      S4    *disabled
P0P9      S4    *disabled
NMAC      S5    *disabled
to get to that, I simply added at the end of /etc/rc.local these lines:
Code:
echo USB0 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup
echo US15 > /proc/acpi/wakeup
echo US12 > /proc/acpi/wakeup
echo SMB0 > /proc/acpi/wakeup

(I do not know if SMB0 needs to be there, but since it works...)

Output of lsusb:
Code:
Bus 004 Device 003: ID 045e:006d Microsoft Corp. eHome Remote Control Keyboard keys
Bus 004 Device 002: ID 045e:0284 Microsoft Corp. Xbox DVD Playback Kit
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 04fc:05d8 Sunplus Technology Co., Ltd Wireless keyboard/mouse
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
from This post (used "solution 1") I created /etc/udev/rules.d/90-mcewakeup.rules with this content:

Code:
# wakeup from S3 for Microsoft Corp. eHome Remote Control device 045e:006d
SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="006d" RUN+="/bin/sh -c 'echo enabled > /sys$env{DEVPATH}/../power/wakeup'"
# wakeup from S3 for Microsoft Corp. Xbox DVD Playback Kit device 045e:0284
SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0284" RUN+="/bin/sh -c 'echo enabled > /sys$env{DEVPATH}/../power/wakeup'"
(with both changes, I can wakeup from S3 suspend using the USB keyboard or the MCEUSB remote, but the xbox original still does not work)

Also, the MCEUSB stopped working after waking up from suspend, so I did what is recomended here: near the end, there is the chapter "Fix the Lirc Device Increment Bug" and I simply created the file /etc/pm/sleep.d/90_lirc with this content:

Code:
# Script to disable lirc before suspend and restart after wake.

case "${1}" in
        suspend|hibernate)
        if [ "$(pidof xbmc.bin)" ] ; then
            wget -q -b -O /dev/null -o /dev/null "http://127.0.0.1:8080/xbmcCmds/xbmcHttp?command=ExecBuilt&Inparameter=LIRC.Stop"
        fi
                /etc/init.d/lirc stop
                ;;
        resume|thaw)
# If remote still does not work after suspend, uncomment the lines below.
# Note you may need to change "lirc_mceusb". See output from 'sudo lsmod | grep lirc' for module name.
                #rmmod lirc_mceusb
                #modprobe lirc_mceusb
                /etc/init.d/lirc start
        if [ "$(pidof xbmc.bin)" ] ; then
            wget -q -b -O /dev/null -o /dev/null "http://127.0.0.1:8080/xbmcCmds/xbmcHttp?command=ExecBuiltIn&parameter=LIRC.Start"
        fi
                ;;
esac
and made the file executable:

chmod 755 /etc/pm/sleep.d/90_lirc

Also, I executed

dpkg-reconfigure lirc

and selected first the MCE remote (press "w" to go near the option, "windows media center...") and then "none" for the second option.

I connect only using HDMI, and I did not had navigational sounds at first. To get that I applied this "recipe", although I do not really know what it does:

wget http://pastebin.com/download.php?i=f5f9654bb -O /etc/asound.conf
wget http://pastebin.com/download.php?i=f2e38265 -O /usr/share/alsa/cards/HDA-Intel.conf


then, in xbmc, I go to settings \ System \ Video:
Audio Output = HDMI
Custom Passthrough Device = plughw:0,3


with that, the navigational sounds work. To set the correct volume, I simply go to the audio mixer and change the "PCM" slider.

The biggest problem I have now is getting the remote to work properly, both the MCEUSB (that works but so slowly that is almost unusable) and the xbox original (that does not work at all).
Reply
#2
I wanted to say thanks for posting this. It really helped in getting suspend/resume working for me on my harmony remote (via HP USB IR receiver and mceusb) using xbmcfreak v2. (I had tried XBMC live 10.0, but I had trouble updating the nvidia driver for my gt430 card and you get nothing but black screen with the default xbmc live driver and gt430).

I had a lot more trouble in getting my IR remote to continue working after resume. Your 90_lirc script wasn't sufficient for me.

If I woke up from suspend using a wireless keyboard everything was fine, but if I woke up using the mceusb device (my harmony remote+USB IR receiver) then lirc would crash (/dev/lirc0 gone, etc.) and the remote would stop working. Stare

Your /etc/pm/sleep.d/90_lirc was a starting point for me. I had to rmmod a couple of lirc modules (lirc-rc-codec and lirc_dev) after stopping lirc on the way into sleep...and then reload them and restart lirc when waking up. That took a lot of trial and error to figure out, but it seems to be working now. Cool

Thanks!
Reply
#3
Talaysen70 Wrote:If I woke up from suspend using a wireless keyboard everything was fine, but if I woke up using the mceusb device (my harmony remote+USB IR receiver) then lirc would crash (/dev/lirc0 gone, etc.) and the remote would stop working. Stare

Your /etc/pm/sleep.d/90_lirc was a starting point for me. I had to rmmod a couple of lirc modules (lirc-rc-codec and lirc_dev) after stopping lirc on the way into sleep...and then reload them and restart lirc when waking up. That took a lot of trial and error to figure out, but it seems to be working now. Cool

Thanks!

I have the same problem. I can wake from suspend but the USB no longer works. Can you post your revised 90_lirc script.
Reply
#4
Code:
# Script to disable lirc before suspend and restart after wake.

case "${1}" in
        suspend|hibernate)
                if [ "$(pidof xbmc.bin)" ] ; then
                        wget -q -b -O /dev/null -o /dev/null "http://127.0.0.1:8080/xbmcCmds/xbmcHttp?command=ExecBuilt&Inparameter=LIRC.Stop"
                fi
                /etc/init.d/lirc stop
                ;;
        resume|thaw)
# If remote still does not work after suspend, uncomment the lines below.
# Note you may need to change "lirc_mceusb". See output from 'sudo lsmod | grep lirc' for module name.
                rmmod ir_lirc_codec
                rmmod lirc_dev
                modprobe lirc_dev
                modprobe ir_lirc_codec
                /etc/init.d/lirc start
                if [ "$(pidof xbmc.bin)" ] ; then
                        wget -q -b -O /dev/null -o /dev/null "http://127.0.0.1:8080/xbmcCmds/xbmcHttp?command=ExecBuiltIn&parameter=LIRC.Start"
                fi
                ;;
esac

this works for me.

don't forget to enable the webinterface.


Additionally, Ubuntu woke up right after suspending. That fixed the issue: http://wiki.xbmc.org/index.php?title=Ubu...utosuspend
Reply

Logout Mark Read Team Forum Stats Members Help
[Linux] Fixing some problems in xbmcfreak-1000-maverick-v20