Annual ALSA Appeal

General discussion relating to the O2 Joggler, from the default O2 setup, to alternative operating systems and applications.
User avatar
pete
Posts: 2814
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Annual ALSA Appeal

Post by pete » Fri Jun 07, 2019 10:11 pm

Easiest way to test was just running speaker-test continously listening and plugging in and unplugging external speaker.
looking at logs now for video stuff and see:

[ 2.276959] kernel: gma500 0000:00:02.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x9188
- Pete

Auto mater

User avatar
roobarb!
Posts: 1541
Joined: Sat Mar 05, 2011 1:30 pm
Location: Manchester, UK
Contact:

Re: Annual ALSA Appeal

Post by roobarb! » Sat Jun 08, 2019 2:13 am

Frazzled. Done for now. I've discovered that 0x15 (marked as not connected) seems to control the crackling of the internal speaker. If we can now find a way for it to toggle on and off when the plug is inserted, that would be great.
birdslikewires.net - home of the Reflash System, SqueezePlay (OS) and various tools for the Joggler!

User avatar
pete
Posts: 2814
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Annual ALSA Appeal

Post by pete » Sat Jun 08, 2019 6:10 am

Yes I hear that on one the Jogglers.

Will tinker.
- Pete

Auto mater

User avatar
roobarb!
Posts: 1541
Joined: Sat Mar 05, 2011 1:30 pm
Location: Manchester, UK
Contact:

Re: Annual ALSA Appeal

Post by roobarb! » Sat Jun 08, 2019 11:51 pm

More messing around this evening - made some notes while flying blind on what these pin settings might mean.

Code: Select all

[codec]
0x83847632 0x00000100 0

[pincfg]
#0x07 0x01c5e150
#0x08 0x01451130

# This sets the internal speakers correctly.
0x0a 0x90170150
#0x0b 0x02a19020
#0x0c 0x01813021
# This sets the line out / headphones correctly.
0x0d 0x0321403f
#0x10 0x500701f0
#0x11 0x90330122
#0x15 0x50a001f1

## Original 3.16 config below here.

# Setting this kills the internal speaker with no crackle.
#0x07 0x01110014

# Not much doing here.
#0x08 0x01410013

# Old setting for internal speakers.
#0x0a 0x02111011

# Not much happening here.
#0x0b 0x01a10021

# Doesn't seem to do much.
#0x0c 0x01810022

# Old setting for line out 
#0x0d 0x02214012

# This one brings Line Out + Speaker option back.
#0x10 0x01010031

# This one doesn't seem to achieve much.
#0x11 0x01310023

# Enabling this on its own kills the internal speakers with no crackle.
#0x15 0x01d10024
After all the comment-uncomment faff I've found that really only this is needed for switching to work, albeit with the internal speakers crackling whilst headphones / line out is connected:

Code: Select all

[codec]
0x83847632 0x00000100 0

[pincfg]
0x0a 0x90170150
0x0d 0x0321403f
I've not figured out if the options where the internal speaker is 'killed' in the earlier example is because of a misconfiguration or something we can actually use. In the early days speaker crackling was also attributed to CPU c-states, so I'll have a very brief mess around with those as well, though I don't hold out any real hope as the issue isn't present (ie. can be overcome) on the 3.16 kernel.
birdslikewires.net - home of the Reflash System, SqueezePlay (OS) and various tools for the Joggler!

User avatar
pete
Posts: 2814
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Annual ALSA Appeal

Post by pete » Sun Jun 09, 2019 12:21 am

I've not figured out if the options where the internal speaker is 'killed' in the earlier example is because of a misconfiguration or something we can actually use. In the early days speaker crackling was also attributed to CPU c-states, so I'll have a very brief mess around with those as well, though I don't hold out any real hope as the issue isn't present (ie. can be overcome) on the 3.16 kernel.

Before tinkering with various pin configurations got a lot of noise on the external speakers. Nothing though on the internal speakers.

When first enabling one pin I did disable the internal speaker doing something with the pins such that there was no sound when the audio jack external plug was unplugged.

Later got them both working.

I did not go back to building a new 3.16 kernal. I have a few of the O2's that have been running fine for a few years now with your original SP stuff. I kept looking at both in a side by side terminal ssh windows while running the speaker-test. I am using all of the O2 jogglers these days without the USB audio card as they work just fine.

One of the older O2's configured with the 3.16 kernel did notice a low volume on it until I adjusted it with alsa mixer.

These days managing the Joggler SqueezePlayers with Home Assistant (well and LMS). They are plug n play media devices with Home Assistant.
- Pete

Auto mater

User avatar
pete
Posts: 2814
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Annual ALSA Appeal

Post by pete » Sun Jun 09, 2019 2:28 pm

Yesterday did not really have much time to tinker due to wife duties and today we have a BBQ for grandkids (3 now)...and here I go off topic on a little bender...

That and finished the PFSense box configuration ...middle of the night (morning) ...configuration and testing while wife was sleeping.

===============================================================

Also tweaking a new mini automation box....running on a BeeLink BT3 Pro - removed W10 on it and replaced it with Ubuntu 18.04 and Oracle Virtual box running Windows 7 embedded. Just running windows on it here for Microsoft SAPI. Automation is with Homeseer and Home Assistant and using MQTT for it. Now the box can manage my Alexa devices and use them as media boxes plus still have commands from Alexa to automation devices. Lots of voices in the house today.
Base Openpeak 1's serve as tabletop touchscreens and then there are Squeezeplayers (O2 base on eMMC's) and test Openpeak1's and 2 running Ubuntu.

Concurrently have been building Ubuntu TVBoxes running KODI to replace the old Aopen Ubuntu KODI boxes. Very light and works great with Armbian here and really don't want to use Android so wiping out android on the eMMC and replacing it with Ubuntu...mostly playing with S912 Octocore ARM mini TV Boxes. Got three now running great. So cheap to do and very fast GPUs (4k HD). IE: don't watch much regular TV but now have all 4K HD televisions here.

===============================================================

I have never built a Joggler firmware image before.

Andy, what are the steps involved to do this?

You are my obi wan as I have not a clue as my fingers just type disconnected from my head...;)

I see all of the files in the //dl.birdslikewires.net/openframe/ubuntu/testing/5.1.7op1/ and understand the patches you made for the audio stuff.

I see the netplan configuration is in the boot directory and configured for DHCP. Is the device just doing that auto mac address gen thing?

I was going to upgrade the NIC firmware on it for a new and permanent MAC address on the O2 Joggler. Steps for this are:
1 - update boot rom to seabios
2 - boot with DOS and write new rom to Realtek chip
3 - using Seabios write old boot rom back to O2 (O2 ROM)

I do have an image posted here for a DOS boot stick with three boot roms and the Realtek NIC rom writer (but it is in DOS)...wish it was done up in Linux.

Fast and easy but a hardware modification and may be over the top for the O2 Joggler base.

Noticed too that base Ubuntu 19.04 image is around 800Mb with only a few adds. I have yet to write it to the eMMC as I just used the emmc as a cache drive.

Will it work for a Squeezeplayer only build using 19.04 and fitting it on the O2 Joggler eMMC of 1Gb?

Still working on the screen saver O2 Jogglers here. Works well with the older build of Squeezeplayer...but I want to schedule an on and off of the screen thing...

I've attached the link for the DOS boot stick to write a new ROM to the Realtek NIC...

This includes a variety of roms: seabios, O2, Avaya...et al.

hxxps://1drv.ms/u/s!Akj-Oin7_x0rgnqe3i3kh_p0l1KA?e=vJfj9D
- Pete

Auto mater

User avatar
pete
Posts: 2814
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Annual ALSA Appeal

Post by pete » Sun Jun 16, 2019 12:03 am

OK so updated build using the files posted over here...hxxps://dl.birdslikewires.net/openframe/ubuntu/testing/5.1.7op1/

First time I have done this before...

Using previous build just did an SFTP file copy to/ boot of:
1 - 5.1.7op1.config
2 - linux-headers-5.1.7op1_5.1.7op1-1_i386.deb
3 - linux-image-5.1.7op1_5.1.7op1-1_i386.deb
4 - linux-libc-dev_5.1.7op1-1_i386.deb

Then ssh'd to device /boot directory and ...
1 - sudo dpkg -i linux-headers-5.1.7op1_5.1.7op1-1_i386.deb
2 - sudo dpkg -i linux-image-5.1.7op1_5.1.7op1-1_i386.deb
3 - sudo dpkg -i linux-libc-dev_5.1.7op1-1_i386.deb

4 - nano grub.cfg so it looks like this:

set timeout=0
menuentry "Ubuntu Disco - 5.1.7op1" {
linux /vmlinuz-5.1.7op1 root=/dev/sda2 rootfstype=ext2 ro quiet rootwait
initrd /initrd.img-5.1.7op1
}

5 - reboot

6 - ssh'd to joggler

root@openframe:/boot# uname -a
Linux openframe 5.1.7op1 #1 Fri Jun 7 12:17:47 BST 2019 i686 i686 i686 GNU/Linux

7 - removed deb files

8 - did the speaker-test plugging in speaker and unplugging speaker. Noticed that internal speakers continued to work when plugging in phone jack.
Heard the crackling sound on the external speaker.

9 - ssh'd and did a sudo apt-get install alsa-tools-gui

10 - ran xorg script - having RW issues when running startx so installed lubuntu desktop.
- Pete

Auto mater

User avatar
roobarb!
Posts: 1541
Joined: Sat Mar 05, 2011 1:30 pm
Location: Manchester, UK
Contact:

Re: Annual ALSA Appeal

Post by roobarb! » Sun Jun 16, 2019 1:50 am

Sorry, been away! Best way would be to take a peek at the build scripts I have on my OpenFrame GitHub page. The of-imgcreate.sh script can build an image with a whole bunch of options given a filesystem overlay (also on that page) and a set of kernel .deb packages. At the moment the build has become a bit bloated in Bionic, really need to try to thin it down. You're safest running it on a true 32-bit Ubuntu platform; I use an Ubuntu Budgie 18.04 VM, which can build later Ubuntu operating systems for x86.

Yes, netplan config is read and applied from /boot at every startup; MAC address is auto-generated based upon the wifi MAC with the 'local bit' set. If there's no wifi card, it uses a randomly generated one. Poking around in the overlays shows the majority of additions / tweaks.

What model is that octocore TV box you're messing with? :)
birdslikewires.net - home of the Reflash System, SqueezePlay (OS) and various tools for the Joggler!

User avatar
pete
Posts: 2814
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Annual ALSA Appeal

Post by pete » Sun Jun 16, 2019 2:38 am

Thank you Andy.

Yes got it going fine using an LUbuntu desktop but I still cannot do the remote via SSH x thing.

Purchased:

TicTid X9T Pro - S912 - 3Gb - Gb NIC - Armbian Server - KODI box (CoreElec)
TX9 Pro Amlogic S912 - 3Gb - Gb NIC - Armbian Server - KODI box (CoreElec)
T95Z Max S912 - 3Gb - Gb NIC - testing (Ubuntu server and CoreElec)

This is all about play back of HD 4K video (local or streaming) which it does well and very low powered a using 5-10 watts of electricity and smallest footprint to date.

With an Octocore ARM CPU / 3Gb of RAM and running on eMMC they do make the ultimate little automation servers. My testing home automation server is running Homeseer, Home Assistant, MQTT, Node Red and barely breaking a sweat.

I have not been able to get the video 4K HD drivers for Kodi working in Armbian with newest kernal 5.X. CoreElec isusing kernal 3.X and working perfectly.

The Armbian guys are working on the newest kernal and almost there. It's easy to test.
- Pete

Auto mater

User avatar
pete
Posts: 2814
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Annual ALSA Appeal

Post by pete » Sun Jun 16, 2019 3:56 pm

Had a look at one of my Jogglers running Squeezeplayer and see this with GParted.
Joggler-SqueezePlayer.jpg
When checking on the new Disco build went up to around 900 Mb and mostly this was due to the fat desktop I installed. Will start again here getting xorg to work and try installing Squeezeplayer and see what happens.

I did apply your updates here to the currently running last build. I did also increase the size of the apt cache and made the mmc a swap drive. This was the only way that worked for me to add a fat desktop.

Here did also update one laptop from Bionic to Disco and noticed the new thing is removal of most of the desktop functions (well with Ubuntu 19.04) such that I went back to Bionic on the laptop.
- Pete

Auto mater

Post Reply