-
Posts
56 -
Joined
-
Last visited
Recent Profile Visitors
2918 profile views
-
I have a question, does anyone know a method to start in the Opi Lite system the I2S audio interface and in particular I mean the module: PCM5102 / PCM5102a On my old OrangePi Lite board, sound and audio in the configuration as mentioned above really work great ... but unfortunately the Armbian system that I use is no longer supported. This is the Ubuntu version (xenial) and kernel: 3.4.113-sun8i, I managed to update some programs important to me, e.g. mpd / mpc but not to the latest versions. I also have another version of OrangePI 3 LTS and I know that on this model it is rather impossible to start I2S + PCM5102 so I used a good sound card under USB and it is OK. However, I think that it should be possible on the Pi Lite? so far I have tried such a howto ... but without success. armbian-add-overlay sun8i-h3-I2S-out.dts entry in the file sun8i-h3-I2S-out.dts : /dts-v1/; /plugin/; / { compatible = "allwinner,sun8i-h3"; fragment@0 { target-path = "/"; __overlay__ { pcm5102a: pcm5102a { #sound-dai-cells = <0>; compatible = "ti,pcm5102a"; pcm510x,format = "i2s"; }; }; }; fragment@1 { target = <&i2s0>; __overlay__ { status = "okay"; pinctrl-0 = <&i2s0_pins>; sound-dai = <&pcm5102a>; pinctrl-names = "default"; }; }; fragment@2 { target-path = "/"; __overlay__ { sound_i2s { compatible = "simple-audio-card"; simple-audio-card,name = "I2S-master"; simple-audio-card,mclk-fs = <256>; simple-audio-card,format = "i2s"; status = "okay"; simple-audio-card,cpu { sound-dai = <&i2s0>; }; simple-audio-card,codec { sound-dai = <&pcm5102a>; }; }; }; }; }; and an additional entry in the armbianEnv.txt file : user_overlays=sun8i-h3-I2S-out I once did it according to another tutorial but it was on the old Ubuntu Xenial system https://www.dimdim.gr/2016/12/orange-pi-one-lite-as-music-streamers-part-2/ It would be useful to update the system and kernel after a dozen or so years π
-
Orange Pi 3 LTS lost Ethernet connection after reboot
kris777 replied to kevinhope's topic in Allwinner sunxi
I checked again and the latest stable version works correctly with OrangePi3 -LTS also the I2C interface for my 40x2 LCD is version: Armbian_23.11.1_Orangepi3-lts_bookworm_current_6.1.63. https://k-space.ee.armbian.com/archive/orangepi3-lts/archive/ regards -
Orange Pi 3 LTS lost Ethernet connection after reboot
kris777 replied to kevinhope's topic in Allwinner sunxi
Every rational user knows exactly what it's about... after all, no one will spend their time updating and improving the firmware for every piece of equipment, even if it's only from OrangePi. Unless you're a retiree and have a lot of time and willingness and a sharp mind... oopsss π Or maybe some other form of help could be used instead of the so-called help from the community (which probably means no one) from the forum? For example, a form of payment for a specialist, developer to adjust or update a specific piece of equipment/model, e.g. OrangePi3-LTS in the form of a progress bar of payments for a given model? ... I wonder if there are people willing to use this form of help... So a proverbial fundraiser for a specific model? Ps. I found a version for OrangePi3-lts with an old, properly working kernel: 15.16.17.7 ... but Debian is already a bookworm https://github.com/silver-alx/sbc/releases -
Orange Pi 3 LTS video issues. Is it even worth it?
kris777 replied to Troy H's topic in Allwinner sunxi
In my opinion, if someone is looking for the orangepi platform as an audio video player, it is better not to use the OrangePi3-LTS version. I searched the internet for some information about this model and I will honestly say that it is tragic π I am currently using the above-mentioned Pi-3-LTS model as an internet radio and I will say that I managed to set almost everything correctly except for the I2S interface, which is why I could not connect the module: PCM5102 (DAC) But you can easily use an audio card under USB and it is OK also as a DAC (32bit). So as an internet radio, the OrangePi3-LTS is OK, if you could run I2S it would be PERFECT.....but this OrangePi model as an audio video player is currently and looking at the internet it is generally a bad solution, it is better to look for something else and preferably a model supported by Armbian developers! π I use the official OrangePi firmware version for internet radio, not Armbian! because on this old version almost everything works, including the I2C interface for LCD 16x2 / 40x2 Ps. How to configure such a radio I described a bit on the Polish Ubuntu forum ... but this is a tutorial in Polish π more information LINK LINK2 regards -
Orange Pi 3 LTS lost Ethernet connection after reboot
kris777 replied to kevinhope's topic in Allwinner sunxi
OK ... but the fact remains that the official version of OrangePi works OK ... and the latest Armbian is nothing but trouble, precisely because there is no longer support from Armbian developers, only from the community on the forum. So I recommend this older firmware from 2022 on OrangePi3 LTS because it works properly. It's great to know that it's still a version of Armbian from years ago π Ps. I checked I2C with my 40x2 lcd and the kernel probably doesn't work? ...lots of errors on these community Firmware ... -
Orange Pi 3 LTS lost Ethernet connection after reboot
kris777 replied to kevinhope's topic in Allwinner sunxi
Orange pi 3 LTS is not supported by Armbian developers but only by the forum community ... so do not count on super correct operation of this model and Armbian firmware, it is probably better to use the official FW from OrangePi for now, although the versions are not updated often and the last ones are from 2022. However, they work well, although I do not have high requirements for this model because I use it as an internet radio π -
I was looking for information about lirc because I use mpd / mpc / LCD and the mpd / mpc program is controlled by the lircrc file. I think I found a solution for the mce / rc6 remote control because for the radio remote control medion x10 ( or24v / or28v ) selecting driver : atilibusb ... the remote control works OK However, you have to use the ir-keytable program + program : triggerhappy maybe someone will find this information useful. more information: Configuring an Infrared Remote Control to Control mpd/ mpc (without needing LIRC)
-
Does anyone use an infrared remote control with the Lirc / rc6 / mce program..and have a verified configuration? I can't configure the above to work on Orange pi 3 lts But I want the Lirc program and not the ir-keytable π
-
I currently have OrangePi3 LTS and I use the firmware provided by OrangePi and there you had to install wiringOP and also run during system startup: i2c0 in the file: orangepiEnv.txt That is, add the entry: overlays= i2c0 i2c1 i2c2 In Armbian firmware it is probably easier, you have to run the configuration from the terminal: armbian-config and there find the section: I2C and enable: i2c0 / system restart then proceed as you previously provided on the forum. How to connect LCD to your model ... probably like I did to my OPi 3-LTS according to this tutorial. Of course the board is different but you have to find the same pins on your OrangePiZero3 model. I managed to do it so you should too. for me it is: 3f sudo i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 3f 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- I also use the lcdproc program to display the current time + install drivers for: hd44780 sudo apt-get install lcdproc lcdproc-extra-drivers Find in your system where you have the file: hd44780.so cd / find -name hd44780.so e.g. ./usr/lib/aarch64-linux-gnu/lcdproc/hd44780.so and add change the path to the file in the configuration : DriverPath=/usr/lib/aarch64-linux-gnu/lcdproc/ Example lcdproc configuration: file: LCDd.conf ## Server section with all kinds of settings for the LCDd server ## [server] DriverPath=/usr/lib/aarch64-linux-gnu/lcdproc/ Driver=hd44780 Bind=127.0.0.1 Port=13666 ReportLevel=3 User=root Foreground=no Hello="Welcome to" Hello="Armbian" GoodBye="Internet Radio" GoodBye="OrangePi3 LTS" WaitTime=5 ServerScreen=off Backlight=off Heartbeat=off TitleSpeed=4 ToggleRotateKey=Enter PrevScreenKey=Left NextScreenKey=Right ## The menu section. The menu is an internal LCDproc client. ## [menu] ## Hitachi HD44780 driver ## [HD44780] ConnectionType=i2c Device=/dev/i2c-0 Port=0x3f Backlight=no Size=16x2 DelayBus=false DelayMult=1 Keypad=no Speed=0 i2c_line_RS=0x01 i2c_line_RW=0x02 i2c_line_EN=0x04 i2c_line_BL=0x08 i2c_line_D4=0x10 i2c_line_D5=0x20 i2c_line_D6=0x40 i2c_line_D7=0x80 BacklightInvert=no # EOF in file lcdproc.conf # LCDproc client configuration file ## general options ## [lcdproc] # address of the LCDd server to connect to Server=localhost # Port of the server to connect to Port=13666 # set reporting level ReportLevel=2 # report to to syslog ? ReportToSyslog=false # run in foreground [default: false; legal: true, false] #Foreground=true # PidFile location when running as daemon [default: /var/run/lcdproc.pid] #PidFile=/var/run/lcdproc.pid # slow down initial announcement of modes (in 1/100s) #delay=2 # display name for the main menu [default: LCDproc HOST] #DisplayName=lcdproc ## screen specific configuration options ## [CPU] # Show screen Active=True OnTime=1 OffTime=2 ShowInvisible=false [Iface] # Show screen Active=True # Show stats for Interface0 Interface0=eth0 # Interface alias name to display [default: <interface name>] Alias0=LAN # Show stats for Interface1 #Interface1=eth1 #Alias1=WAN # Show stats for Interface2 #Interface2=eth2 #Alias2=MGMT # for more than 3 interfaces change MAX_INTERFACES in iface.h and rebuild # Units to display [default: byte; legal: byte, bit, packet] unit=bit # add screen with transferred traffic #transfer=TRUE [Memory] # Show screen Active=True [Load] # Show screen Active=True # Min Load Avg at which the backlight will be turned off [default: 0.05] LowLoad=0.05 # Max Load Avg at which the backlight will start blinking [default: 1.3] HighLoad=1.3 [TimeDate] # Show screen Active=True # time format [default: %H:%M:%S; legal: see strftime(3)] TimeFormat="%H:%M:%S" # date format [default: %x; legal: see strftime(3)] DateFormat="%x" [About] # Show screen Active=false [SMP-CPU] # Show screen Active=false [OldTime] # Show screen Active=false # time format [default: %H:%M:%S; legal: see strftime(3)] TimeFormat="%H:%M:%S" # date format [default: %x; legal: see strftime(3)] DateFormat="%x" # Display the title bar in two-line mode. Note that with four lines or more # the title is always shown. [default: true; legal: true, false] #ShowTitle=false [BigClock] # Show screen Active=false [Uptime] # Show screen Active=false [Battery] # Show screen Active=false [CPUGraph] # Show screen Active=false [ProcSize] # Show screen Active=false [Disk] # Show screen Active=false [MiniClock] # Show screen Active=True # time format [default: %H:%M; legal: see strftime(3)] TimeFormat="%H:%M" # EOF But this is an example configuration for OrangePi3 LTS and the Python scripts that are on the forum refer to Python 2 which is already old and in the systems there is only Python 3 and these scripts may be outdated and not work correctly Maybe there is some programmer who will convert it to Python 3 π My configuration also has a fix for Polish diacritics that are displayed incorrectly on the LCD... as slashes and strange characters or question marks???? π And the script supports mpd / mpc programs for internet radio #!/usr/bin/python # -*- coding: utf-8 -*- import smbus import time import subprocess from time import sleep, strftime from datetime import datetime from subprocess import * # Define some device parameters I2C_ADDR = 0x3f # I2C device address LCD_WIDTH = 16 # Maximum characters per line LCD_HEIGHT = 2 # Define some device constants LCD_CHR = 1 # Mode - Sending data LCD_CMD = 0 # Mode - Sending command LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line LCD_LINE_3 = 0x94 # LCD RAM address for the 3rd line LCD_LINE_4 = 0xD4 # LCD RAM address for the 4th line LCD_BACKLIGHT = 0x08 # On #LCD_BACKLIGHT = 0x0C # Off ENABLE = 0b00000100 # Enable bit # Timing constants E_PULSE = 0.005 E_DELAY = 0.005 #Open I2C interface bus = smbus.SMBus(0) # Rev 1 Pi uses 0 (and Orange PI PC, for pins 3 and 5) #bus = smbus.SMBus(1) # Rev 2 Pi uses 1 def lcd_byte(bits, mode): # Send byte to data pins # bits = the data # mode = 1 for data # 0 for command bits_high = mode | (bits & 0xF0) | LCD_BACKLIGHT bits_low = mode | ((bits<<4) & 0xF0) | LCD_BACKLIGHT # High bits bus.write_byte(I2C_ADDR, bits_high) lcd_toggle_enable(bits_high) # Low bits bus.write_byte(I2C_ADDR, bits_low) lcd_toggle_enable(bits_low) def lcd_toggle_enable(bits): # Toggle enable time.sleep(E_DELAY) bus.write_byte(I2C_ADDR, (bits | ENABLE)) time.sleep(E_PULSE) bus.write_byte(I2C_ADDR,(bits & ~ENABLE)) time.sleep(E_DELAY) def lcd_string(message,line): # Send string to display message = message.ljust(LCD_WIDTH," ") lcd_byte(line, LCD_CMD) for i in range(LCD_WIDTH): lcd_byte(ord(message[i]),LCD_CHR) def replace_pl(chars): pl = { 'Δ ': 'a', 'Δ': 'c', 'Δ': 'e', 'Ε': 'l', 'Ε': 'n', 'Γ³': 'o', 'Ε': 's', 'ΕΊ': 'z', 'ΕΌ': 'z', 'Δ': 'A', 'Δ': 'C', 'Δ': 'E', 'Ε': 'L', 'Ε': 'N', 'Γ': 'O', 'Ε': 'S', 'ΕΉ': 'Z', 'Ε»': 'Z', } for f, t in pl.items(): chars = chars.replace(f,t) return chars def main(): counter = 0 while True: # Get current status and playtime process = subprocess.Popen('sudo mpc -v', shell=True, stdout=subprocess.PIPE) ekran1 = process.communicate()[0] ekran1 = replace_pl(ekran1) statusLines = ekran1.split('\n') ekran1 = statusLines[1] if ekran1 <> '': ekran1L1 = ekran1.split(' ',1)[0].strip() ekran1L2temp = ekran1.split(' ',1)[1].strip() ekran1L2 = ekran1L2temp.split(' ',1)[0].strip() process = subprocess.Popen('sudo mpc -f %name%', shell=True, stdout=subprocess.PIPE) ekran2 = process.communicate()[0] ekran2 = replace_pl(ekran2) statusLines = ekran2.split('\n') ekran2 = statusLines[0] ekran2L1 = ekran2[0:16] ekran2L2 = ekran2[16:31] process = subprocess.Popen('sudo mpc -f %artist%', shell=True, stdout=subprocess.PIPE) ekran3 = process.communicate()[0] ekran3 = replace_pl(ekran3) statusLines = ekran3.split('\n') ekran3 = statusLines[0] ekran3L1 = ekran3[0:16] ekran3L2 = ekran3[16:31] process = subprocess.Popen('sudo mpc -f %title%', shell=True, stdout=subprocess.PIPE) ekran4 = process.communicate()[0] ekran4 = replace_pl(ekran4) statusLines = ekran4.split('\n') ekran4 = statusLines[0] ekran4L1 = ekran4[0:16] ekran4L2 = ekran4[16:31] if counter == 1: if ekran1 == "": counter = 7 else: lcd_string(ekran1L1,LCD_LINE_1) lcd_string(ekran1L2,LCD_LINE_2) if counter == 7: if ekran2 == "": counter = 14 else: lcd_string(ekran2L1,LCD_LINE_1) lcd_string(ekran2L2,LCD_LINE_2) if counter == 14: if ekran3 == "": counter = 25 else: lcd_string(ekran3L1,LCD_LINE_1) lcd_string(ekran3L2,LCD_LINE_2) if counter == 25: if ekran4 == "": counter = 35 else: lcd_string(ekran4L1,LCD_LINE_1) lcd_string(ekran4L2,LCD_LINE_2) sleep(0.1) counter = counter + 1 if counter == 40: counter = 1 if __name__ == '__main__': try: main() except KeyboardInterrupt: pass finally: lcd_byte(0x00, LCD_CMD) lcd_byte(0x01, LCD_CMD) lcd_byte(0x08, LCD_CMD)
-
or usb card DAC ( CM6631A ) link cat /proc/asound/card1/pcm0p/sub0/hw_params access: RW_INTERLEAVED format: S32_LE subformat: STD channels: 2 rate: 192000 (192000/1) period_size: 24000 buffer_size: 96000
-
I confirm that this HDMI/RCA converter solved the problem and it's OK. MPD parameters while playing radio stations: cat /proc/asound/card2/pcm0p/sub0/hw_params access: RW_INTERLEAVED format: S24_LE subformat: STD channels: 2 rate: 192000 (192000/1) period_size: 8192 buffer_size: 65536 link
-
I'm testing different firmware versions for OrangePi 3 LTS a bit and I have to mention that version: Armbian_community_24.11.0-trunk.202_Orangepi3-lts_noble_current_6.6.44_gnome-kisak_desktop.img It has a flaw that can cause some trouble for beginners, i.e. after installing, the system automatically goes to the suspend option after 15 minutes π Disabling the suspend option completely helps, but it then prevents you from using the suspend option by clicking the button on the board π This is probably an error related to both battery and mains power supply. https://discussion.fedoraproject.org/t/gnome-suspends-after-15-minutes-of-user-inactivity-even-on-ac-power/79801 but unfortunately this is not it π
-
It turned out that the sound card with the 3.5 jack output works properly and the cause of the strange earlier noises, crackles, etc. was probably the OrangePi 3lts power supply, although the specification stated: output 5V - 4A it probably wasn't 4A π I bought a different model and now everything is OK, the sound works properly. cat /proc/asound/allwinnerac200c/pcm0p/sub0/hw_params access: RW_INTERLEAVED format: S24_LE subformat: STD channels: 2 rate: 44100 (44100/1) period_size: 7350 buffer_size: 22050 this one is OK link I do not recommend this!!! link Ps. Is there any advice to eliminate the loud clicking in the speakers during music start and also during system start? The audio signal is supplied to the amplifier via the standard 3.5 jack output from the OrangePi3 LTS. The system uses Alsa / mpd / mpc sound ...?
-
I confirm the sound on the OrangePi 3LTS / internal card and the 3.5 jack output is very bad with noise. I can confirm the correct operation of the USB sound card based on the chip: Pcm2706 (can be read: 16-Bit Delta-Sigma Stereo DAC) link1 link2