Linux device driver for xbox 360 audio

Hola a todos, sigo este foro desde hace mucho y hoy he decidido registrarme para intentar solventar un problema que tengo con mi xbox 360 y para compartir con ustedes todo lo que uno pueda.El caso es que tengo una xenon y la tengo con el xbr3, funciona todo muy bien y hoy me decidi a instalar ubuntu linux en el disco duro tal y como explican los manuales que hay por la red,todo bien pero no hay sonido, cosa que ya sabia y me topé con unos drivers que dicen que funcionan pero la verdad que no tengo ni idea de como instalarlos aqui os dejo lo que hay que hacer para instalarlo:

I am releasing the first version of linux device driver for xbox 360 audio. you can get source from here: http------------. The device driver is alsa compitable, so basically you can compile mplayer and then it should play various music formats for you easily. It supports both analog stereo and digital spdif (only dobly digital by now). Thanks for tmbinc for his finding on 360 audio hardware details and his help on debuging the code. The license for the code is GPL.

In order to compile it, you will need to properly edit sound/pci/Makefile with the following statements, and also change Kconfig if needed. do not forget to enable ALSA support in your kernel.
snd-xenon-objs := xenon_snd.o
obj-$(CONFIG_SND_XENON) += snd-xenon.o

To compile mplayer, download MPlayer-1.0rc2.tar.bz2 and edit libmpcodecs/ad_hwac3.c by applying the following patch:

--- ad_hwac3.c 1969-12-31 19:15:52.000000000 -0500
+++ ad_hwac3.c.org 1969-12-31 19:15:17.000000000 -0500
@@ -144,4 +144,17 @@
}

+static inline unsigned short bswap16(unsigned short a)
+{
+ return ((a&0xff)<<8) | ((a&0xff00)>>8);
+}
+
+static inline void mem_swap16(void *buf, int line)
+{
+ int i=0;
+ uint16_t *buf16 = (uint16_t *)buf;
+ for (i=0; i<line/2; i++)
+ buf16[i]=bswap16(buf16[i]);
+}
+
static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen)
{
@@ -177,4 +190,6 @@
memset(buf + 8 + len, 0, 6144 - 8 - len);

+ mem_swap16(buf, 6144);
+
return 6144;
}
@@ -375,4 +390,6 @@
memset(&buf[fsize + 8], 0, nr_samples * 2 * 2 - (fsize + 8));

+ mem_swap16(buf, nr_samples * 2 * 2);
+
return nr_samples * 2 * 2;
}


To test:
-bash-3.2# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: AudioPCI [Xenon AudioPCI], device 0: Xenon Audio [Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: AudioPCI [Xenon AudioPCI], device 1: Xenon Audio [Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0

stereo music:
./mplayer -ao alsa:device=hw=0.0 music.mp3/ape/flac/wav

digital music:
./mplayer -ao alsa:device=hw=0.1 -ac hwac3 music.ac3
./mplayer -ao alsa:device=hw=0.1 -ac hwdts music.dts



Please feel free to improve this driver for the following things:
1) Interrupt: I could not get pci interrupt to work. This driver currently uses a timer interrupt.
2) DTS passthrough: my receiver could not decode the raw dts bit stream sent by mplayer, I guess one register was not set correctly for dts passthrough. If you have a jtag setup on xbox 360 motherboard, you could help on this: put a dvd movie with dts track into 360 drive and play(check if your receiver receive dts signal), read 64 bytes from address 0xea001600 with your jtag device and then post the result here.
3) Mixer such as volumn setting etc.


Hay esta el lio a ver si aguien que lo haya hecho me puede ayudar porque no me aclaro y estoy hecho un lio.Estaria bien poder disfrutar del sonido sin tarjetas externas ni nada ¿no creeis?

Un saludo.
si sabes como poner el xellous en ntsc te ayudaria , por que se harto de linux es mi s.o principal , pero el xellous me carga en pal raramente la consola esta bien configurada y cuando entro al dashboard esta en ntsc y todo funciona bien , solo tengo el problema en el xellous, si pudiese cargar linux en colores instalaria las app que dices y te podria ayudar ,salu2
volrathix escribió:si sabes como poner el xellous en ntsc te ayudaria , por que se harto de linux es mi s.o principal , pero el xellous me carga en pal raramente la consola esta bien configurada y cuando entro al dashboard esta en ntsc y todo funciona bien , solo tengo el problema en el xellous, si pudiese cargar linux en colores instalaria las app que dices y te podria ayudar ,salu2


<buff.... pues no tengo ni idea de como poner el xellous en ntsc ya que mi consola es pal y se me ve bien en color la verdad que ahi me pillas.....
Esto se ha conseguido hacer ? hay un tutorial o algo en algun lado ?

Estaria de lujo tener un linux funcional aunke sea para ver series online , poner musiketa, messenger ...... esas cosillas : D

Creo ke tengo demasiada fe
Si lees la fuente original, verás como hay un post más nuevo en el que se sube un kernel ya compilado:

http://webcache.googleusercontent.com/s ... clnk&gl=es

De todas formas esto es de octubre del año pasado, ¿Seguro que no hay ninguna distro/kernel en condiciones a estas alturas?

Here's a new kernel with the xenon sound modules.

http://www.megarabo.com/?d=T6C2XXD5

Replace the vmlinux from your sata2 CD with this one. Extract the 2.6.24.3 folder in the /lib/modules directory.

Then run the command:

sudo echo "snd-xenon" > /etc/modules


Se trata tan solo de añadir la imagen del kernel y módulos.
Pues la verdad es que no tengo ni idea , pero vamos ke entro por aki todos los dias y no he visto nada de eso

Entonces aun no se puede instalar un linux ke se pueda utilizar ke funcione el sonido y una tarjeta de red inalambrica como pasa con la ps3 eske todos los tutoriales ke veo sobre linux hablan del xploit king-kong y son de hace bastante tiempo .................
Una ayudita ke la busqueda avanzada de eol o no lo se usar o va como el puto culo .
wah_wah_69 escribió:Si lees la fuente original, verás como hay un post más nuevo en el que se sube un kernel ya compilado:

http://webcache.googleusercontent.com/s ... clnk&gl=es

De todas formas esto es de octubre del año pasado, ¿Seguro que no hay ninguna distro/kernel en condiciones a estas alturas?

Here's a new kernel with the xenon sound modules.

http://www.megarabo.com/?d=T6C2XXD5

Replace the vmlinux from your sata2 CD with this one. Extract the 2.6.24.3 folder in the /lib/modules directory.

Then run the command:

sudo echo "snd-xenon" > /etc/modules


Se trata tan solo de añadir la imagen del kernel y módulos.

Pero,esto es solo para xenon?
wah_wah_69 escribió:Si lees la fuente original, verás como hay un post más nuevo en el que se sube un kernel ya compilado:

http://webcache.googleusercontent.com/s ... clnk&gl=es

De todas formas esto es de octubre del año pasado, ¿Seguro que no hay ninguna distro/kernel en condiciones a estas alturas?

Here's a new kernel with the xenon sound modules.

http://www.megarabo.com/?d=T6C2XXD5

Replace the vmlinux from your sata2 CD with this one. Extract the 2.6.24.3 folder in the /lib/modules directory.

Then run the command:

sudo echo "snd-xenon" > /etc/modules


Se trata tan solo de añadir la imagen del kernel y módulos.

Gracias, no parece muy didicil añadirlo, pues yo creo ke no hay distros compiladas para soportar el sonido, no se, habria que buscar, ahora no tengo el lector puesto pero lo pondre para volver a probar esto que lo tenia ya abandonado, estaria genial tener una distro que aprovechara el hardware de la xbox 360 a tope.Intentare reunir la info para poner como se instala que la debo de tener por ahi, eso si se necesita tener lector para que arranque desde el disco duro con un cd de arranque.
Si te curraras un Tuto seria la ostia , porque muchos no tenemos ni idea y tener un linux funcional seria fantastico en mi opinion
No tengo ni idea de como funciona la blanquita con linux,pero el codigo fuente que has puesto es en "C" , seguramente habría que compilarlo con algun programa,en el linux de el PC por ejemplo se usa el GCC..
(GCC nombredelprograma).
Luego,sino me equivoco,una vez compilado se puede lanzar por consola(de comandos) de la siguiente manera:
./mplayer , o sea como un script, o un ejecutable.
Ya digo,que hablo desde la ignorancia,solo entiendo un poco de c, y algo de linux xD,pero no se como reacciona la consola..Saludos
9 respuestas