| gnarface | hey agneli know anything about steam links? | 14:59 |
|---|---|---|
| gnarface | i backburnered the optimus tablet thing for high difficulty level combined with low practical usefulness (i never go anywhere) | 15:00 |
| gnarface | so now i'm trying to send audio to a steam link without pulseaudio instead | 15:00 |
| gnarface | i just barely managed to debootstrap devuan ascii to a usb key and load it up, but i'm running into a wall with lack of alsa or oss in their stock kernel, wondering if there's an easier way out of that than using kexec to sideload my own kernel | 15:01 |
| gnarface | not really a devuan question sorry, just thought you might know something about their stock software | 15:02 |
| gnarface | (like maybe a command-line binary they've got hidden in there i can use in place of "aplay") | 15:02 |
| agneli | i usually just compile my own kernel | 17:57 |
| agneli | debootstrap the os | 17:58 |
| agneli | compile the kernel | 17:58 |
| agneli | i am not sure I understand | 17:59 |
| agneli | you have some device - I assume it is this optimus tablet | 18:00 |
| agneli | https://en.wikipedia.org/wiki/LG_Optimus_Pad | 18:00 |
| agneli | this one? | 18:00 |
| agneli | and u managed to install linux on it from some binary distribution | 18:00 |
| agneli | is that correct? | 18:00 |
| agneli | but apparently distribution does not have the modules you need? | 18:01 |
| agneli | there should be a config* file in /boot no? | 18:01 |
| agneli | or is this distro using some android bootloader? | 18:02 |
| gnarface | agneli: no you're confusing my statement. forget the tablet. i'm trying to do something with a Valve Steam Link now | 18:02 |
| agneli | then it is possible to extract the config | 18:02 |
| agneli | https://store.steampowered.com/app/353380/Steam_Link/ | 18:02 |
| gnarface | yea, that thing | 18:02 |
| agneli | this one? | 18:02 |
| agneli | and that app is where? | 18:03 |
| gnarface | it is hardware | 18:03 |
| agneli | ach this is some device OK | 18:03 |
| gnarface | but it's running some stripped down linux | 18:03 |
| agneli | OK | 18:03 |
| gnarface | no alsa or oss in kernel | 18:03 |
| gnarface | basically i was wondering if you happened to know some low-level way to play audio without alsa or oss in the kernel | 18:03 |
| agneli | and you want this device to do what exactly please? | 18:04 |
| gnarface | basically i just want it to accept a raw pcm audio stream instead of needing the host system to have pulseaudio | 18:04 |
| gnarface | actually i can get it to accept the stream over the network, i just can't get figure out how to make it play the stream | 18:05 |
| agneli | what do you mean by it exactly? | 18:05 |
| agneli | what process on your device accepts this stream you send? | 18:05 |
| gnarface | nc -l -p 8000 -u |... | 18:06 |
| agneli | ok | 18:06 |
| gnarface | i would do: nc -l -p 8000 -u |aplay --buffer-time=50000 | 18:06 |
| agneli | https://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture#/media/File:Linux_API.svg | 18:06 |
| gnarface | but it has no alsa | 18:06 |
| gnarface | no ALSA or OSS in kernel, yet somehow it plays audio | 18:07 |
| gnarface | and i can't figure out what it's using | 18:07 |
| agneli | what makes you think there is no ALSA gnarface, please? | 18:07 |
| gnarface | i checked /proc/config.gz | 18:07 |
| gnarface | also lsmod | 18:07 |
| agneli | could you paste it somewhere? | 18:07 |
| gnarface | also, i debootstrapped devuan, and tried "nc -l -p 8000 -u |aplay --buffer-time=50000" which confirmed no alsa | 18:08 |
| gnarface | stand by i'll boot it up... | 18:08 |
| agneli | you debootstraped devuan - OK, but you still used the old kernel? | 18:08 |
| gnarface | yea, kept its old kernel, and debootstrapped ascii because i figured everything else would be too new for the libc version | 18:14 |
| agneli | do you have /dev/snd ? | 18:15 |
| agneli | I want config*, lsmod, and listing of /dev/snd | 18:16 |
| agneli | i am curious | 18:16 |
| agneli | :) | 18:16 |
| gnarface | here's the contents of /proc/config.gz: https://paste.debian.net/1366709/ | 18:16 |
| gnarface | here is the output of lsmod: https://paste.debian.net/1366710/ | 18:17 |
| gnarface | the only thing in /dev/snd is this: crw------- 1 root root 116, 33 Dec 31 1969 timer | 18:17 |
| agneli | man | 18:18 |
| agneli | u sure u do not have ALSA? | 18:18 |
| agneli | https://www.kernelconfig.io/config_snd | 18:18 |
| gnarface | i admit the timer is suspicious... but aplay -l and arecord -l show now devices | 18:18 |
| agneli | ur paste, line 1377 says: CONFIG_SND=y | 18:18 |
| gnarface | yea but what sound? is it something entirely proprietary or just something i never heard of? | 18:19 |
| gnarface | i can't pipe raw audio to /dev/snd/timer can it? | 18:19 |
| agneli | you do not have any pcm* in the /dev/snd? | 18:19 |
| gnarface | nothing, just that timer node | 18:20 |
| gnarface | here's the output of pstree: https://paste.debian.net/1366711/ | 18:20 |
| gnarface | (it's running busybox so the ps binary doesn't support "--forest") | 18:20 |
| agneli | drivers you have probably =y | 18:20 |
| gnarface | anyway, in theory i can use their sdk to build a kernel with alsa then kexec over to it after boot, i've read that works, but i'm just wondering if that's really the easiest solution | 18:21 |
| agneli | that is definitely not the easiest solution :) | 18:21 |
| gnarface | if one of these /dev/ nodes was something i could pipe raw audio to that would solve the problem, then i could just pipe audio over netcat like i'm currently doing with the raspberry pi | 18:21 |
| agneli | what audio chip that device uses? | 18:22 |
| agneli | is there dtbs for that device somewhere? | 18:22 |
| gnarface | if there is, i can't find it | 18:22 |
| gnarface | could be in the sdk somewhere though, i haven't dug much into that yet | 18:23 |
| agneli | do you have SYstem.map file /boot | 18:23 |
| gnarface | i don't even have /boot | 18:24 |
| gnarface | trying to figure out what the sound card is | 18:24 |
| agneli | what is your partition layout? | 18:24 |
| agneli | andrioid? | 18:25 |
| gnarface | no, it's clearly some stripped down linux install | 18:25 |
| gnarface | a mess of read-only mtd devices overlayed with tiny unionfs ramdisks | 18:25 |
| agneli | well android is linux | 18:25 |
| gnarface | here, the output of df -h: https://paste.debian.net/1366712/ | 18:25 |
| gnarface | they do distribute an app version of this device now, but i think it's only for rpi4 | 18:26 |
| agneli | it looks like some of that kind... | 18:26 |
| agneli | i think it would be nice to understand what sound chip is there | 18:28 |
| gnarface | i can't find any specs that mention the audio device, but wikipedia says it's a Marvell DE3005-A1 SoC | 18:28 |
| agneli | is that SoC supported by linux kernel? | 18:28 |
| gnarface | ARMv7 with hard-float and Neon | 18:29 |
| agneli | I mean mainline kernel | 18:29 |
| gnarface | years ago when they were fairly new i think someone told me they managed to kexec a mainline kernel | 18:29 |
| gnarface | that was what i was gonna try next (well, devuan kernel built from debian source package anyway) | 18:30 |
| gnarface | Valve's instructions warn you that if you try to actually replace the kernel with one not signed by Valve though, it'll brick the device | 18:30 |
| gnarface | their SDK supposedly should let me rebuild their kernel source too though | 18:30 |
| agneli | https://forum.openwrt.org/t/steam-link-as-a-nas/8147/11 | 18:31 |
| gnarface | it's a huge pain in the ass because the thing runs too old of a version of ext4 to even trade disks with my desktop, it has only 256MB of ram and 0 swap so i'll have to set up a bunch of NFS stuff first | 18:31 |
| agneli | locked bootloader | 18:32 |
| gnarface | yea, so kexec would be the only option | 18:32 |
| agneli | throw it to the trash where it truly belongs and get some old apple device :) | 18:33 |
| gnarface | hahah | 18:33 |
| agneli | mainline gets more and more support for these | 18:33 |
| agneli | ipad or something | 18:33 |
| agneli | no | 18:33 |
| agneli | ipod | 18:33 |
| agneli | that is the name | 18:33 |
| gnarface | i got it on sale for $5 | 18:34 |
| gnarface | tough to beat the price | 18:34 |
| agneli | then use that arch script | 18:34 |
| agneli | :) | 18:34 |
| gnarface | hah | 18:34 |
| gnarface | it might come to that | 18:34 |
| gnarface | i was just thinking there's gotta be some way to just pipe raw audio into it somewhere without changing kernels, if i could just figure out how... | 18:34 |
| agneli | seems very easy | 18:34 |
| agneli | it seems they have some custom driver fro sound | 18:35 |
| gnarface | # cat /proc/asound/cards | 18:35 |
| gnarface | --- no soundcards --- | 18:35 |
| gnarface | but... | 18:35 |
| gnarface | # cat /proc/asound/version | 18:35 |
| gnarface | Advanced Linux Sound Architecture Driver Version k3.8.13-mrvl. | 18:35 |
| agneli | device file can be anywhere | 18:35 |
| gnarface | hmmm... | 18:36 |
| agneli | I told you it has alsa | 18:36 |
| gnarface | so just some proprietary closed fork of alsa missing half the interface? | 18:36 |
| agneli | maybe they created some other interface or something | 18:37 |
| gnarface | any of these look like a soundcard to you? https://paste.debian.net/1366716/ | 18:37 |
| agneli | or put hte device file somewhere else | 18:37 |
| gnarface | hmm | 18:37 |
| agneli | does lpci or lsusb say something? | 18:38 |
| gnarface | lspci says: lspci: /sys/bus/pci/devices: No such file or directory | 18:38 |
| gnarface | lsusb just says: | 18:39 |
| agneli | ok no pci on that chip | 18:39 |
| gnarface | Bus 001 Device 002: ID 0424:2514 | 18:39 |
| gnarface | Bus 001 Device 001: ID 1d6b:0002 | 18:39 |
| gnarface | Bus 001 Device 003: ID 28de:1142 | 18:39 |
| gnarface | just those 3 | 18:39 |
| agneli | kernel 3.8.x | 18:39 |
| agneli | probably no dtb there | 18:39 |
| agneli | even if you could retrime android boot image | 18:39 |
| agneli | and unpack it | 18:39 |
| agneli | but source code could tell something | 18:40 |
| agneli | i do not remember where the configs were at that time | 18:40 |
| agneli | but they were in the kernel | 18:40 |
| agneli | I was fixing them for ac100 a bit | 18:40 |
| agneli | and what are those IDs? | 18:40 |
| gnarface | dunno, assumed the mtd devices | 18:41 |
| gnarface | i guess i could look that up... | 18:41 |
| agneli | there are also other busses idk how to check | 18:41 |
| agneli | it can use SoC sound if there is any | 18:41 |
| gnarface | oh! | 18:42 |
| gnarface | i think i have info | 18:42 |
| agneli | or it can have additional chip | 18:42 |
| agneli | external one | 18:42 |
| gnarface | seems like there's more modules statically compiled than shown | 18:42 |
| gnarface | i just realized i can look in /sys | 18:42 |
| gnarface | one of these could be it, right? https://paste.debian.net/1366720/ | 18:42 |
| gnarface | i guess those could just be there to support plugged in devices though... | 18:43 |
| gnarface | it has like usb mic support and such | 18:43 |
| agneli | well u hv pcm | 18:44 |
| agneli | and this is where my skills end gnarface | 18:45 |
| agneli | you need somebody wiser | 18:45 |
| gnarface | it's ok | 18:46 |
| gnarface | thanks for trying, you still gave me a couple other ideas | 18:46 |
| gnarface | looks like those 3 usb devices are 2 usb hubs and a hidden steam controller... which is weird | 18:47 |
| gnarface | but no sound card | 18:47 |
| agneli | ok when it plays music | 18:48 |
| agneli | with its native app | 18:48 |
| agneli | can you see what files it has open? | 18:48 |
| agneli | maybe some sockets or something | 18:48 |
| gnarface | hmm, if i could figure out which app that was maybe... | 18:48 |
| agneli | it has to be sending data to the device somehow | 18:48 |
| agneli | you ereased the original sysop already? | 18:48 |
| agneli | no backup whatsoever? | 18:49 |
| gnarface | erased what now? no, i haven't erased anything... this is entirely stock except that i enabled ssh access | 18:49 |
| gnarface | and it's fully updated, according to its own interface | 18:49 |
| gnarface | it accepts audio fine if the host machine has pulseaudio running | 18:49 |
| gnarface | i'm just trying to figure out how to ditch pulseaudio | 18:50 |
| agneli | w8 | 18:50 |
| gnarface | i tried faking it with apulse, but apulse doesn't seem to support network streaming as far as i can tell | 18:50 |
| agneli | what you say you can send data to theis device from a host that runs pcaudio? | 18:51 |
| agneli | over WiFi I assume? | 18:51 |
| gnarface | it has wifi and regular ethernet, i'm using regular ethernet | 18:51 |
| agneli | wow | 18:52 |
| agneli | :) | 18:52 |
| agneli | cant you just run netstat and see what software receives data from your device? | 18:52 |
| agneli | netstat -a -p --inet | 18:52 |
| agneli | I am not sure if busybox has all these switches | 18:52 |
| gnarface | hmm, i would have to run that with a host that has pulseaudio? | 18:52 |
| gnarface | er, i would run that while a host that has pulseaudio is connected, right? | 18:53 |
| agneli | you start playing the longest of your preffered songs | 18:53 |
| gnarface | the busybox versions of everything are fantastically useless, but i might be able to use the devaun version from a chroot | 18:53 |
| agneli | and while sound is playing you can see with netstat how the data is traveling over the LAN | 18:53 |
| agneli | -p whousl tell you which program uses which port | 18:53 |
| gnarface | hmm... not a bad idea... | 18:54 |
| agneli | then you coudl investigate further | 18:54 |
| gnarface | alright, i'll try that | 18:56 |
| gnarface | thanks | 18:56 |
| agneli | let's see how it goes | 18:58 |
| gnarface | it'll take some time for me to get to it, the machine with pulseaudio is being used by someone else for work right now and i don't want to install it here | 18:59 |
Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!