Jump to content

maxlinux2000

Members
  • Posts

    50
  • Joined

  • Last visited

Everything posted by maxlinux2000

  1. root@w2:~# apt update Hit:1 http://deb.debian.org/debian buster InRelease Hit:2 http://security.debian.org buster/updates InRelease Hit:3 http://deb.debian.org/debian buster-updates InRelease Hit:4 http://deb.debian.org/debian buster-backports InRelease Hit:5 https://apt.armbian.com buster InRelease Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date. root@w2:~# apt install wireguard Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: wireguard : Depends: wireguard-tools (>= 1.0.20200513-1~bpo10+1) but 1.0.20200319-1~bpo10+1 is to be installed E: Unable to correct problems, you have held broken packages. root@w2:~# uname -a Linux w2 5.4.43-sunxi64 #20.05.2 SMP Tue Jun 2 17:20:17 CEST 2020 aarch64 GNU/Linux
  2. without network-manager eth0 can't up and works.... I'm using the wifi only in order to setup OMV, bul then the connection will be with ethernet. For the moment i'm installed ONV and reinstalled half system in order to have back the networking capacity of debian.... but this is a workaround. I'm thinking to remove armbian-config package, for the moment, waiting the fix. I have 6 server running far of my house.
  3. Strange problem with armbian-config/softy/OMV But something similar has happened to me also with a simple update from armbian-config Steps to reproduce: 1. clean install of Armbian_20.02.1_Orangepi3_buster_current_5.4.20 using uart-ttl usb adapter as interface 2. I configure the network by wifi 3. apt update && apt upgrade -y 4. after the terminal update everything is still perfect and I can connect to ssh with WIFI and launch armbian-config 5. armbian-config/software/softy/OMV -> Install Results: After a coffee or two, I go back and find that the ssh connection has been closed and I can't connect. Notes: Entering with minicom by uart-ttl and I discover that wlan0 has disappeared, but also the command nmtui and launching it, the system tells me that network-manager must be installed ... I have re-tested this bug 3 times, even marking the network-manager package as "manual" with sudo apt-mark manual network-manager But nothing has worked. Something similar has happened to me on another server (OrangePi PC2) ... when updating with armbian-config the network-manager package has also disappeared there. So I think the problem is generated by armbian-config and not by the softy program. I suggest you to test the network manager's .deb and its dependencies before downloading and then recover the installation with "dpkg -i * .deb" mkdir network-manager mkdir network-manager cd network-manager sudo apt-get download network-manager for i in $(apt-cache depends network-manager | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; done
  4. Hi all, is there a way to fix the characters set problem using uart? look the pics below.... the forwarded terminal is using the ttl usb adapter with minicom the second is via ssh connection both is showing "armbian-config"
  5. Hello everyone, I give you a 2017 discussion about a modified version of ffmpeg called Cedrus for H3 processors at 32bit. Since the h5 is 64 bit and the code they speak is quite old, therefore I cannot use it, I wonder if there is any version of ffmpeg that takes advantage of the HW acceleration of the H5 processors. Thank you Max
  6. below the traduction in spanish language of previous post. Solución al problema de tener soporte SSL en Icecast bajo Armbian. al parecer en Ubuntu el paquete icecast2, no está compilado con soporte ssl, así que tenemos que volver a compilarlo nosotros mismo. Comparto aquí mis notas, por la posteridad y para mi futura referencia en el caso lo necesite. Voy a asumir que ya tines instalado ispConfig en tu armbian (OrangePi Pc2 en mi caso), de que tienes IP fija y pública (123.123.123.100) de que tienes un subdominio asignado desde tu registar con un record A, por ejemplo así: radio.example.org -> 123.123.123.100 1) Crea una web en ispConfig con SSL y Let's Encrypt al subdominio radio.example.org con IP 123.123.123.100. No hace falsta nada mas. Esta pagina web en realidad no se va a usar si fuera para los cerfiticados SSL. 2) Ahora vamos a desistalar si aúno no lo has hecho eventuales isntalaciones de icecast2 # apt remove --purge icecast2 3) vamos preparar el entorno de compilación para icecast: # apt install git gcc build-essential libcurl4-openssl-dev libxslt1-dev libxml2-dev libogg-dev libvorbis-dev libflac-dev libtheora-dev libssl-dev libspeex-dev 4) ahora bajamo el último código fuente disponible de icecast # git clone --recursive https://git.xiph.org/icecast-server.git (tarda un poco a mostrar algo... espera) # cd icecast-server # ./autogen.sh # ./configure --with-curl --with-openssl # make -j4 (si tu placa tiene 8 núcleos, pon -j8 ... y si solo quieres usar 2 pon -j2) # make install 5) ahora hay que crear un usuario para icecast # adduser --disabled-password --gecos "" icecast 6) crear logs # mkdir -p /var/log/icecast/ # touch /var/log/icecast/error.log # touch /var/log/icecast/access.log # chown -R icecast.icecast /var/log/icecast # chown -R icecast.icecast /etc/icecast 7) ahora el certificado SSL ya creado en ispconfig para la pagina web radio.example.org # mkdir /etc/icecast/ssl/ # touch /usr/local/bin/icecastLetEncrypt.sh # chmod 755 /usr/local/bin/icecastLetEncrypt.sh # mcedit /usr/local/bin/icecastLetEncrypt.sh ...y escribe algo así: --------------------------------------------------------------- #!/bin/bash cat /etc/letsencrypt/live/radio.example.org/cert.pem \ /etc/letsencrypt/live/radio.example.org/privkey.pem \ > /usr/share/icecast/icecast.pem chown icecast.icecast /etc/icecast/ssl/icecast.pem chmod go-r /etc/icecast/ssl/icecast.pem --------------------------------------------------------------- 8) ahora la configuración de icecast: --------------------------------------------------------------- <icecast> <!-- location and admin are two arbitrary strings that are e.g. visible on the server info page of the icecast web interface (server_version.xsl). --> <location>ESpaña</location> <admin>maxlinux2000@gmail.com</admin> <!-- IMPORTANT! Especially for inexperienced users: Start out by ONLY changing all passwords and restarting Icecast. For detailed setup instructions please refer to the documentation. It's also available here: http://icecast.org/docs/ --> <limits> <clients>100</clients> <sources>2</sources> <queue-size>524288</queue-size> <client-timeout>30</client-timeout> <header-timeout>15</header-timeout> <source-timeout>10</source-timeout> <!-- If enabled, this will provide a burst of data when a client first connects, thereby significantly reducing the startup time for listeners that do substantial buffering. However, it also significantly increases latency between the source client and listening client. For low-latency setups, you might want to disable this. --> <burst-on-connect>1</burst-on-connect> <!-- same as burst-on-connect, but this allows for being more specific on how much to burst. Most people won't need to change from the default 64k. Applies to all mountpoints --> <burst-size>65535</burst-size> </limits> <authentication> <!-- Sources log in with username 'source' --> <source-password>MySecretPasswd</source-password> <!-- Relays log in with username 'relay' --> <relay-password>MySecretPasswd</relay-password> <!-- Admin logs in with the username given below --> <admin-user>admin</admin-user> <admin-password>MySecretPasswd</admin-password> </authentication> <!-- set the mountpoint for a shoutcast source to use, the default if not specified is /stream but you can change it here if an alternative is wanted or an extension is required <shoutcast-mount>/live.nsv</shoutcast-mount> --> <!-- Uncomment this if you want directory listings --> <!-- <directory> <yp-url-timeout>15</yp-url-timeout> <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url> </directory> --> <!-- This is the hostname other people will use to connect to your server. It affects mainly the urls generated by Icecast for playlists and yp listings. You MUST configure it properly for YP listings to work! --> <hostname>radio.example.org</hostname> <!-- You may have multiple <listener> elements --> <listen-socket> <port>8000</port> <!-- <bind-address>127.0.0.1</bind-address> --> <!-- <shoutcast-mount>/stream</shoutcast-mount> --> </listen-socket> <!-- <listen-socket> <port>8080</port> </listen-socket> --> <listen-socket> <port>8443</port> <ssl>1</ssl> </listen-socket> <!-- Global header settings Headers defined here will be returned for every HTTP request to Icecast. The ACAO header makes Icecast public content/API by default This will make streams easier embeddable (some HTML5 functionality needs it). Also it allows direct access to e.g. /status-json.xsl from other sites. If you don't want this, comment out the following line or read up on CORS. --> <http-headers> <header name="Access-Control-Allow-Origin" value="*" /> </http-headers> <!-- Relaying You don't need this if you only have one server. Please refer to the config for a detailed explanation. --> <!--<master-server>127.0.0.1</master-server>--> <!--<master-server-port>8001</master-server-port>--> <!--<master-update-interval>120</master-update-interval>--> <!--<master-password>hackme</master-password>--> <!-- setting this makes all relays on-demand unless overridden, this is useful for master relays which do not have <relay> definitions here. The default is 0 --> <!--<relays-on-demand>1</relays-on-demand>--> <!-- <relay> <server>127.0.0.1</server> <port>8080</port> <mount>/example.ogg</mount> <local-mount>/different.ogg</local-mount> <on-demand>0</on-demand> <relay-shoutcast-metadata>0</relay-shoutcast-metadata> </relay> --> <!-- Mountpoints Only define <mount> sections if you want to use advanced options, like alternative usernames or passwords --> <!-- Default settings for all mounts that don't have a specific <mount type="normal">. --> <!-- <mount type="default"> <public>0</public> <intro>/server-wide-intro.ogg</intro> <max-listener-duration>3600</max-listener-duration> <authentication type="url"> <option name="mount_add" value="http://auth.example.org/stream_start.php"/> </authentication> <http-headers> <header name="foo" value="bar" /> </http-headers> </mount> --> <!-- Normal mounts --> <mount type="normal"> <mount-name>/stream2.mp3</mount-name> <username>Tester</username> <password>MySecretPasswd</password> <max-listeners>1</max-listeners> <!--dump-file>/tmp/dump-example1.ogg</dump-file--> <burst-size>65536</burst-size> <!--fallback-mount>/example2.ogg</fallback-mount> <fallback-override>1</fallback-override> <fallback-when-full>1</fallback-when-full> <intro>/example_intro.ogg</intro--> <hidden>1</hidden> <public>1</public> <!--authentication type="htpasswd"> <option name="filename" value="myauth"/> <option name="allow_duplicate_users" value="0"/> </authentication--> <http-headers> <header name="Access-Control-Allow-Origin" value="http://webplayer.example.org" /> </http-headers> <!--on-connect>/home/icecast/bin/stream-start</on-connect> <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect--> </mount> <!-- <mount type="normal"> <mount-name>/example-complex.ogg</mount-name> <username>othersource</username> <password>hackmemore</password> <max-listeners>1</max-listeners> <dump-file>/tmp/dump-example1.ogg</dump-file> <burst-size>65536</burst-size> <fallback-mount>/example2.ogg</fallback-mount> <fallback-override>1</fallback-override> <fallback-when-full>1</fallback-when-full> <intro>/example_intro.ogg</intro> <hidden>1</hidden> <public>1</public> <authentication type="htpasswd"> <option name="filename" value="myauth"/> <option name="allow_duplicate_users" value="0"/> </authentication> <http-headers> <header name="Access-Control-Allow-Origin" value="http://webplayer.example.org" /> <header name="baz" value="quux" /> </http-headers> <on-connect>/home/icecast/bin/stream-start</on-connect> <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect> </mount> --> <!-- <mount type="normal"> <mount-name>/auth_example.ogg</mount-name> <authentication type="url"> <option name="mount_add" value="http://myauthserver.net/notify_mount.php"/> <option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/> <option name="listener_add" value="http://myauthserver.net/notify_listener.php"/> <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/> <option name="headers" value="x-pragma,x-token"/> <option name="header_prefix" value="ClientHeader."/> </authentication> </mount> --> <fileserve>1</fileserve> <paths> <!-- basedir is only used if chroot is enabled --> <basedir>/usr/share/icecast</basedir> <!-- Note that if <chroot> is turned on below, these paths must both be relative to the new root, not the original root --> <logdir>/var/log/icecast</logdir> <webroot>/usr/share/icecast/web</webroot> <adminroot>/usr/share/icecast/admin</adminroot> <!-- <pidfile>/usr/share/icecast/icecast.pid</pidfile> --> <!-- Aliases: treat requests for 'source' path as being for 'dest' path May be made specific to a port or bound address using the "port" and "bind-address" attributes. --> <!-- <alias source="/foo" destination="/bar"/> --> <!-- Aliases: can also be used for simple redirections as well, this example will redirect all requests for http://server:port/ to the status page --> <alias source="/" destination="/status.xsl"/> <!-- The certificate file needs to contain both public and private part. Both should be PEM encoded. --> <ssl-certificate>/etc/icecast/ssl/icecast.pem</ssl-certificate> </paths> <logging> <accesslog>access.log</accesslog> <errorlog>error.log</errorlog> <!-- <playlistlog>playlist.log</playlistlog> --> <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error --> <logsize>10000</logsize> <!-- Max size of a logfile --> <!-- If logarchive is enabled (1), then when logsize is reached the logfile will be moved to [error|access|playlist].log.DATESTAMP, otherwise it will be moved to [error|access|playlist].log.old. Default is non-archive mode (i.e. overwrite) --> <!-- <logarchive>1</logarchive> --> </logging> <security> <chroot>0</chroot> <!-- <changeowner> <user>nobody</user> <group>nogroup</group> </changeowner> --> </security> </icecast> --------------------------------------------------------------- 9) ahora probamos si funciona con # sudo -H -u icecast /usr/local/bin/icecast -b -c /etc/icecast/icecast.xml si hay errores hay que corregirlos. El motivo del error aparece en la pantalla. En normalidad son problemas de permisos o de que no encuentra un archivo o una carpeta. 10) creación de un servicio systemd # mcedit /etc/systemd/system/icecast.service y pega dentro al fichero: ---------------------- [Unit] Description=icecast service After=multi-user.target [Service] Type=forking Restart=on-failure User=icecast ExecStart=/usr/local/bin/icecast -b -c /etc/icecast/icecast.xml WorkingDirectory=/home/icecast StandardOutput=syslog StandardError=syslog [Install] WantedBy=multi-user.target ---------------------- 11) mata a icecast si es eventualmente activo. Para mirar el PID, puedes dar este comando: # ps -A | grep icecast y te sale ago así: PID TTY TIME CMD 22780 pts/0 00:00:04 icecast Para matar icecast dale un # kill -9 22780 (el pid no será lo mismo) y luego systemctl daemon-reload systemctl enable icecast.service systemctl start icecast.service ahora tienes icecast activo y con SSL vete a la pagina https://radio.example.org:8443 y verás que se abre icecast con soporte para SSL Notas: Esta configuración de icecast.xml, permite 2 trasmisiones simultáneas a la vez. Una en el punto de montaje: https://radio.example.org:8443/stream (source/MySecretPasswd) y el otro en https://radio.example.org:8443/stream2.mp3 (Tester/MySecretPasswd) la trasmisión de Source (cool mic desde android o ffmpeg desde linux u otra app que soporte icecast) hay que ponerle: servidor: radio.example.org Mount: stream puerto: 8000 usuario: source contraseña: MySecretePasswd servidor: radio.example.org Mount: stream2.mp3 puerto: 8000 usuario: Tester contraseña: MySecretePasswd Segunda nota. Aún falta la regla de cron para el crtificato ssl. La podrá más adelante.
  7. OK I solved the problem by myself. Solution to the problem of having SSL support in Icecast on Armbian. Apparently in Ubuntu the icecast2 package is not compiled with ssl support, so we have to recompile it ourselves. I will share my notes here, for posterity and for my future reference in the case I need it. I will assume that you already have ispConfig installed in your armbian (OrangePi Pc2 in my case), that you have a fixed and public IP (123.123.123.100) that you have a subdomain assigned from your register with an A record, for example like this: radio.example.org -> 123.123.123.100 1) Create a website in ispConfig with SSL and Let's Encrypt to the subdomain radio.example.org with IP 123.123.123.100. Nothing is missing. This web page is not really going to be used if it were for SSL certificates. 2) Now we are going to desistalar if still you have not done it eventual installations of icecast2 # apt remove --purge icecast2 3) Let's prepare the compilation environment for icecast: # apt install git gcc build-essential libcurl4-openssl-dev libxslt1-dev libxml2-dev libogg-dev libvorbis-dev libflac-dev libtheora-dev libssl-dev libspeex-dev 4) now download the latest available icecast source code # git clone --recursive https://git.xiph.org/icecast-server.git (tarda un poco a mostrar algo... espera) # cd icecast-server # ./autogen.sh # ./configure --with-curl --with-openssl # make -j4 (if your board has 8 cores, put -j8 ... and if you only want to use 2 cores put -j2) # make install 5) Now you have to create a user for icecast # adduser --disabled-password --gecos "" icecast 6) create logs # mkdir -p /var/log/icecast/ # touch /var/log/icecast/error.log # touch /var/log/icecast/access.log # chown -R icecast.icecast /var/log/icecast # chown -R icecast.icecast /etc/icecast 7) now the SSL certificate already created in ispconfig for the radio.example.org website # mkdir /etc/icecast/ssl/ # touch /usr/local/bin/icecastLetEncrypt.sh # chmod 755 /usr/local/bin/icecastLetEncrypt.sh # mcedit /usr/local/bin/icecastLetEncrypt.sh ...and write on it something like: --------------------------------------------------------------- #!/bin/bash cat /etc/letsencrypt/live/radio.example.org/cert.pem \ /etc/letsencrypt/live/radio.example.org/privkey.pem \ > /usr/share/icecast/icecast.pem chown icecast.icecast /etc/icecast/ssl/icecast.pem chmod go-r /etc/icecast/ssl/icecast.pem --------------------------------------------------------------- 8) Now the icecast settings: --------------------------------------------------------------- <icecast> <!-- location and admin are two arbitrary strings that are e.g. visible on the server info page of the icecast web interface (server_version.xsl). --> <location>ESpaña</location> <admin>maxlinux2000@gmail.com</admin> <!-- IMPORTANT! Especially for inexperienced users: Start out by ONLY changing all passwords and restarting Icecast. For detailed setup instructions please refer to the documentation. It's also available here: http://icecast.org/docs/ --> <limits> <clients>100</clients> <sources>2</sources> <queue-size>524288</queue-size> <client-timeout>30</client-timeout> <header-timeout>15</header-timeout> <source-timeout>10</source-timeout> <!-- If enabled, this will provide a burst of data when a client first connects, thereby significantly reducing the startup time for listeners that do substantial buffering. However, it also significantly increases latency between the source client and listening client. For low-latency setups, you might want to disable this. --> <burst-on-connect>1</burst-on-connect> <!-- same as burst-on-connect, but this allows for being more specific on how much to burst. Most people won't need to change from the default 64k. Applies to all mountpoints --> <burst-size>65535</burst-size> </limits> <authentication> <!-- Sources log in with username 'source' --> <source-password>MySecretPasswd</source-password> <!-- Relays log in with username 'relay' --> <relay-password>MySecretPasswd</relay-password> <!-- Admin logs in with the username given below --> <admin-user>admin</admin-user> <admin-password>MySecretPasswd</admin-password> </authentication> <!-- set the mountpoint for a shoutcast source to use, the default if not specified is /stream but you can change it here if an alternative is wanted or an extension is required <shoutcast-mount>/live.nsv</shoutcast-mount> --> <!-- Uncomment this if you want directory listings --> <!-- <directory> <yp-url-timeout>15</yp-url-timeout> <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url> </directory> --> <!-- This is the hostname other people will use to connect to your server. It affects mainly the urls generated by Icecast for playlists and yp listings. You MUST configure it properly for YP listings to work! --> <hostname>radio.example.org</hostname> <!-- You may have multiple <listener> elements --> <listen-socket> <port>8000</port> <!-- <bind-address>127.0.0.1</bind-address> --> <!-- <shoutcast-mount>/stream</shoutcast-mount> --> </listen-socket> <!-- <listen-socket> <port>8080</port> </listen-socket> --> <listen-socket> <port>8443</port> <ssl>1</ssl> </listen-socket> <!-- Global header settings Headers defined here will be returned for every HTTP request to Icecast. The ACAO header makes Icecast public content/API by default This will make streams easier embeddable (some HTML5 functionality needs it). Also it allows direct access to e.g. /status-json.xsl from other sites. If you don't want this, comment out the following line or read up on CORS. --> <http-headers> <header name="Access-Control-Allow-Origin" value="*" /> </http-headers> <!-- Relaying You don't need this if you only have one server. Please refer to the config for a detailed explanation. --> <!--<master-server>127.0.0.1</master-server>--> <!--<master-server-port>8001</master-server-port>--> <!--<master-update-interval>120</master-update-interval>--> <!--<master-password>hackme</master-password>--> <!-- setting this makes all relays on-demand unless overridden, this is useful for master relays which do not have <relay> definitions here. The default is 0 --> <!--<relays-on-demand>1</relays-on-demand>--> <!-- <relay> <server>127.0.0.1</server> <port>8080</port> <mount>/example.ogg</mount> <local-mount>/different.ogg</local-mount> <on-demand>0</on-demand> <relay-shoutcast-metadata>0</relay-shoutcast-metadata> </relay> --> <!-- Mountpoints Only define <mount> sections if you want to use advanced options, like alternative usernames or passwords --> <!-- Default settings for all mounts that don't have a specific <mount type="normal">. --> <!-- <mount type="default"> <public>0</public> <intro>/server-wide-intro.ogg</intro> <max-listener-duration>3600</max-listener-duration> <authentication type="url"> <option name="mount_add" value="http://auth.example.org/stream_start.php"/> </authentication> <http-headers> <header name="foo" value="bar" /> </http-headers> </mount> --> <!-- Normal mounts --> <mount type="normal"> <mount-name>/stream2.mp3</mount-name> <username>Tester</username> <password>MySecretPasswd</password> <max-listeners>1</max-listeners> <!--dump-file>/tmp/dump-example1.ogg</dump-file--> <burst-size>65536</burst-size> <!--fallback-mount>/example2.ogg</fallback-mount> <fallback-override>1</fallback-override> <fallback-when-full>1</fallback-when-full> <intro>/example_intro.ogg</intro--> <hidden>1</hidden> <public>1</public> <!--authentication type="htpasswd"> <option name="filename" value="myauth"/> <option name="allow_duplicate_users" value="0"/> </authentication--> <http-headers> <header name="Access-Control-Allow-Origin" value="http://webplayer.example.org" /> </http-headers> <!--on-connect>/home/icecast/bin/stream-start</on-connect> <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect--> </mount> <!-- <mount type="normal"> <mount-name>/example-complex.ogg</mount-name> <username>othersource</username> <password>hackmemore</password> <max-listeners>1</max-listeners> <dump-file>/tmp/dump-example1.ogg</dump-file> <burst-size>65536</burst-size> <fallback-mount>/example2.ogg</fallback-mount> <fallback-override>1</fallback-override> <fallback-when-full>1</fallback-when-full> <intro>/example_intro.ogg</intro> <hidden>1</hidden> <public>1</public> <authentication type="htpasswd"> <option name="filename" value="myauth"/> <option name="allow_duplicate_users" value="0"/> </authentication> <http-headers> <header name="Access-Control-Allow-Origin" value="http://webplayer.example.org" /> <header name="baz" value="quux" /> </http-headers> <on-connect>/home/icecast/bin/stream-start</on-connect> <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect> </mount> --> <!-- <mount type="normal"> <mount-name>/auth_example.ogg</mount-name> <authentication type="url"> <option name="mount_add" value="http://myauthserver.net/notify_mount.php"/> <option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/> <option name="listener_add" value="http://myauthserver.net/notify_listener.php"/> <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/> <option name="headers" value="x-pragma,x-token"/> <option name="header_prefix" value="ClientHeader."/> </authentication> </mount> --> <fileserve>1</fileserve> <paths> <!-- basedir is only used if chroot is enabled --> <basedir>/usr/share/icecast</basedir> <!-- Note that if <chroot> is turned on below, these paths must both be relative to the new root, not the original root --> <logdir>/var/log/icecast</logdir> <webroot>/usr/share/icecast/web</webroot> <adminroot>/usr/share/icecast/admin</adminroot> <!-- <pidfile>/usr/share/icecast/icecast.pid</pidfile> --> <!-- Aliases: treat requests for 'source' path as being for 'dest' path May be made specific to a port or bound address using the "port" and "bind-address" attributes. --> <!-- <alias source="/foo" destination="/bar"/> --> <!-- Aliases: can also be used for simple redirections as well, this example will redirect all requests for http://server:port/ to the status page --> <alias source="/" destination="/status.xsl"/> <!-- The certificate file needs to contain both public and private part. Both should be PEM encoded. --> <ssl-certificate>/etc/icecast/ssl/icecast.pem</ssl-certificate> </paths> <logging> <accesslog>access.log</accesslog> <errorlog>error.log</errorlog> <!-- <playlistlog>playlist.log</playlistlog> --> <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error --> <logsize>10000</logsize> <!-- Max size of a logfile --> <!-- If logarchive is enabled (1), then when logsize is reached the logfile will be moved to [error|access|playlist].log.DATESTAMP, otherwise it will be moved to [error|access|playlist].log.old. Default is non-archive mode (i.e. overwrite) --> <!-- <logarchive>1</logarchive> --> </logging> <security> <chroot>0</chroot> <!-- <changeowner> <user>nobody</user> <group>nogroup</group> </changeowner> --> </security> </icecast> --------------------------------------------------------------- 9) Now we test if it works with: # sudo -H -u icecast /usr/local/bin/icecast -b -c /etc/icecast/icecast.xml If there are errors, they must be corrected. The reason for the error appears on the screen. Normally they are permission problems or you cannot find a file or a folder. 10) creation of a systemd service # mcedit /etc/systemd/system/icecast.service ...and copy/paste on it: ---------------------- [Unit] Description=icecast service After=multi-user.target [Service] Type=forking Restart=on-failure User=icecast ExecStart=/usr/local/bin/icecast -b -c /etc/icecast/icecast.xml WorkingDirectory=/home/icecast StandardOutput=syslog StandardError=syslog [Install] WantedBy=multi-user.target ---------------------- 11) kill icecast if it is eventually active. To look the PID number, you can give this command: # ps -A | grep icecast and the console show something like that: PID TTY TIME CMD 22780 pts/0 00:00:04 icecast To kill the process do # kill -9 22780 (yo must to put your PID number) and then: # systemctl daemon-reload # systemctl enable icecast.service # systemctl start icecast.service Now you have icecast active and with SSL support!! Go to https://radio.example.org:8443 and you will see that icecast opens with SSL support Notes: This configuration of icecast.xml, allows 2 simultaneous transmissions at the same time. One at the mount point: https://radio.example.org:8443/stream (source/MySecretPasswd) and the other in https://radio.example.org:8443/stream2.mp3 (Tester/MySecretPasswd) Source transmission (like Cool Mic in android or ffmpeg in linux or another app that supports icecast), you should be put: icecast server: radio.example.org Mount: stream port: 8000 user: source passwd: MySecretePasswd icecast server: radio.example.org Mount: stream2.mp3 port: 8000 user: Tester passwd: MySecretePasswd Second note.... the cron rule for the ssl certificate still missing. I have to do it and add here.
  8. Hello everyone I have a problem with icecast because I can't get the let's encrypt ssl certificate to work. I have followed several tutorials online, but in the end they were all the same, so I explain what I am doing, to see if someone tells me where I am wrong. I have created a script to concatenate certificates, change ownership and permissions, so that I can run it with cron along with the let's encrypt certbot. Here the script ---------------------- #!/bin/bash cat /etc/letsencrypt/live/radio.example.org/cert.pem \ /etc/letsencrypt/live/radio.example.org/privkey.pem \ > /usr/share/icecast2/icecast.pem chown icecast2.icecast /usr/share/icecast2/icecast.pem chmod go-r /usr/share/icecast2/icecast.pem ---------------------- Then I modified /etc/icecast2/icecast.xml like this: <icecast> <location>Earth</location> <admin>icemaster@localhost</admin> <limits> <clients>100</clients> <sources>2</sources> <queue-size>524288</queue-size> <client-timeout>30</client-timeout> <header-timeout>15</header-timeout> <source-timeout>10</source-timeout> <burst-on-connect>1</burst-on-connect> <burst-size>65535</burst-size> </limits> <authentication> <source-password>MySecretPasswd</source-password> <relay-password>MySecretPasswd</relay-password> <admin-user>admin</admin-user> <admin-password>MySecretPasswd</admin-password> </authentication> <hostname>radio.example.org</hostname> </listen-socket> <listen-socket> <port>8002</port> <ssl>1</ssl> </listen-socket> <http-headers> <header name="Access-Control-Allow-Origin" value="*" /> </http-headers> <!-- Normal mounts --> <mount type="normal"> <mount-name>/radio</mount-name> <username>source</username> <password>MySecretPasswd</password> <max-listeners>500</max-listeners> <dump-file>/mnt/1TB/podcast/dump-example1.mp3</dump-file> <burst-size>65536</burst-size> <!--fallback-mount>/example2.ogg</fallback-mount> <fallback-override>1</fallback-override> <fallback-when-full>1</fallback-when-full> <intro>/example_intro.ogg</intro--> <hidden>1</hidden> <public>1</public> <http-headers> <header name="Access-Control-Allow-Origin" value="http://webplayer.example.org" /> <header name="baz" value="quux" /> </http-headers> </mount> <fileserve>1</fileserve> <paths> <basedir>/usr/share/icecast2</basedir> <logdir>/var/log/icecast2</logdir> <webroot>/usr/share/icecast2/web</webroot> <adminroot>/usr/share/icecast2/admin</adminroot> <alias source="/" destination="/status.xsl"/> </paths> <paths> <ssl-certificate>/usr/share/icecast2/icecast.pem</ssl-certificate> </paths> <logging> <accesslog>access.log</accesslog> <errorlog>error.log</errorlog> <!-- <playlistlog>playlist.log</playlistlog> --> <loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error --> <logsize>10000</logsize> <!-- Max size of a logfile --> </logging> <security> <chroot>0</chroot> </security> </icecast> ... but the log at each restart of the icecast2 service, shows me: "INFO connection /get_ssl_certificate No SSL capability", and of course on port 8002 I can't connect to https [2019-08-29 20:25:31] INFO stats/stats_shutdown stats thread finished [2019-08-29 20:25:31] INFO main/main Icecast 2.4.3 server started [2019-08-29 20:25:31] DBUG yp/yp_recheck_config Updating YP configuration [2019-08-29 20:25:31] INFO connection/get_ssl_certificate No SSL capability [2019-08-29 20:25:31] INFO yp/yp_update_thread YP update thread started [2019-08-29 20:25:32] DBUG slave/_slave_thread checking master stream list Anyone have any idea where I am wrong?
  9. Same problem in a orangePi PC2... two usb ports death. This occurs when I try to use a smartphone power supply in the microusb OTG port instead the regular power supply. In this damaged orangepipc I'm using a hub usb3 with 4 extra ports. (5$ on ebay)
  10. Most of the time our Arm computer does nothing and the CPU is around 40º, and therefore no fan is needed. But sometimes they work a lot and the fan is really necessary. So I wonder if a 5V fan connected to the gpio pins can be used and that the same board sends power to the fan when for example the CPU exceeds 60 °. And below 60º the orangepi that cuts the current to the fan. Can it be done without external components?
  11. I think we will have to modify Armbian Server a bit so that it works correctly with SSD and HDD drives. In my case I have a server with public Ip, primary disk of 120GB SSD and another secondary of 320GB type HDD. On the server I installed ispConfig, wordpress, nextcloud and icecast2 I think it would be best to move all the Logs on the HDD disk so as not to damage the SSD disk over time ... and of course remove the /var/log and /tmp partitions. What do you think?
  12. Ok, I have a workaround! I have created a simple script that analize, compare and corrects the length of audio file in order to match the video length. This script can create a video files with audio in HD (720p) using a Logitech C310 webcam on a OrangePi PC or OrangePi Pc2. (tested on both) As optional feature this script can automatically upload the video to youtube Fell free tu use and adapt to your hardware. Note for the programmers: FFMPEF and ARECORD have a bug that random caputure from mic (via usb2) at wrong frequency... so the file will be reproduced x 3 fastest. I don't know if is an hardware problem o software... but this occurs on both H3 and H5 processors, so I propend for a software problem. In order to reproduce, please do this simple command varios times: # ffmpeg -f alsa -i default:CARD=U0x46d0x81b -t 10 out1.wav and hear they. below the script #!/bin/bash # Simple audio/video capture from Logitech C310 Webcam # tested on OrangePi PC and OrangePi Pc2. # Ubuntu Bionic with Armbian Linux 4.19.62-sunxi # 2019/08/28 by Massimo Biffi # Fell free to use and edit this script. # save this script on lc310-capture.sh # change the path as you needs #################################################################### # set audio/video filenames, video size aud="aud.wav" vid="vid.mp4" Vsize="1280x720" #################################################################### #Optional. auto submit video to youtube using this script: # https://www.atareao.es/como/subir-videos-a-youtube-con-un-script/ # https://github.com/tokland/youtube-upload # Put youtube=1 in order to activate it youtube=0 #################################################################### # check id ffmpeg and rubberband are present if [ -f /usr/bin/ffmpeg ]; then echo "Ok, rubberband installed" else echo "FFMPEG missing. Please install with sudo apt install ffmpeg" exit 1 fi if [ -f /usr/bin/rubberband ]; then echo "Ok, rubberband installed" else echo " Rubberband missing. Please install with sudo apt install rubberband-cli" exit 1 fi DATE=$(date +"%Y-%m-%d_%H-%M") DATE2=$(date +"%d/%b/%Y") echo DATE=$DATE #echo DATE2=$DATE2 # Detect Logictec c310 device DEVICE=$(v4l2-ctl --list-devices | grep -A1 "UVC" | tail -n1 | tr -d '\t') echo "capturing video" ffmpeg \ -hide_banner \ -loglevel panic \ -f v4l2 \ -video_size $Vsize \ -i $DEVICE \ -pix_fmt nv12 \ -c:v libx264 \ -b:v 4M \ -maxrate 4M \ -bufsize 1M \ -preset ultrafast \ -vsync 0 \ -f mp4 $vid -y & vidPID=$! echo "capturing audio, ...press Enter to stop..." #grab audio ffmpeg \ -hide_banner \ -loglevel panic \ -f alsa \ -ar 48000 \ -ac 1 \ -i hw:CARD=U0x46d0x81b,DEV=0 $aud -y & audPID=$! # Enter to Stop read stop #stop audio and video with pids echo "Stop recording" kill -n 2 $audPID kill -n 2 $vidPID # check audio and video Length echo "checking audio and video Length" Vtime=$(ffprobe -v error -select_streams v:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 vid.mp4) Atime=$(ffprobe -v error -select_streams a:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 aud.wav) echo Vtime=$Vtime - Atime=$Atime # compare audio/video Length tVtime=$(echo $Vtime | tr -d '.') tAtime=$(echo $Atime | tr -d '.') if [ "$tAtime" -lt "$tVtime" ]; then echo "Lengths differents!" # if not equal calculate new frequency Freq=$( echo "scale=1; 48000*$Atime/$Vtime " | bc) echo "New Freq=$Freq" # change frequency and resample ar 48k echo "change the freq at $Freq and resample to 48k" ffmpeg \ -hide_banner \ -loglevel panic \ -i aud.wav \ -af asetrate=$Freq,aresample=48000 aud2.wav -y echo "checking audio and video Length again" Atime2=$(ffprobe -v error -select_streams a:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 aud2.wav) echo Vtime=$Vtime - Atime2=$Atime2 # fine tune Length of audio file echo "fine tune Length of audio file with rubberband" rubberband -q -D $Vtime aud2.wav aud3.wav Atime3=$(ffprobe -v error -select_streams a:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 aud3.wav) echo Vtime=$Vtime - Atime3=$Atime3 # clean and replace audio mv aud3.wav $aud rm aud2.wav else echo "calculate time difference" Diff=$(echo "scale=1; $Atime-$Vtime " | bc) echo Diff=$Diff echo "cutting last $Diff seconds" ffmpeg -hide_banner -loglevel panic -ss 00:00:00.0 -i $aud -t $Vtime aud2.wav echo "checking audio and video Length again..." Atime2=$(ffprobe -v error -select_streams a:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 aud2.wav) echo Vtime=$Vtime - Atime2=$Atime2 mv aud2.wav $aud fi # merge audio/video in mp4 and aac audio codec echo "merging audio and video..." ffmpeg \ -hide_banner \ -loglevel panic \ -i $vid \ -i $aud \ -c:v copy \ -c:a aac \ -ac 2 \ video_$DATE.mp4 -y # clean rm $aud $vid if [ youtube = 1 ]; then youtube-upload video_$DATE.mp4 --title "Vídeo del $DATE2" \ && rm video_$DATE.mp4 fi
  13. Hi Tido, the temperature is not the problem (64º without fan, only a little heatsink, but I will put a fan in the production) I have done several tests and it turns out that the problem is in the audio recording. Sometimes it is correct and other times it is X3 faster. So if I record an audio of 10 seconds, it actually lasts 3 seconds increasing the frequency. Clearly in these conditions ffmpeg can't do much .... well, something could be done ... you could see how many seconds the video takes and stretch the audio until it is the same and can be coupled. But this means recording audio and video separately and then putting them together. I put here a 10 second wav file for you to understand the problem. out1x3.wav Something similar had never happened to me. The strange thing is that if I execute the same command several times, it gives me different results. Sometimes the speed is normal and sometimes it is X3 I do not know if it is the fault of the Logitech c310 webcam or OrangePi pc2 or the set of these two pieces of hardware. Anyone have a solution for this problem? I put here the simple examples I am using for this. #!/bin/bash # arecord -L #ffmpeg -f alsa -ar 48000 -i plughw:CARD=U0x46d0x81b,DEV=0 -ac 2 -c:a aac -r 48000 -b:a 128k -y out.aac ffmpeg -f alsa -i default:CARD=U0x46d0x81b -t 10 out1.wav ffmpeg -f alsa -ac 1 -i default:CARD=U0x46d0x81b -t 10 out2.wav ffmpeg -f alsa -ac 1 -ar 16000 -i default:CARD=U0x46d0x81b -t 10 out3.wav ffmpeg -f alsa -ac 1 -ar 16000 -i default:CARD=U0x46d0x81b -t 10 -r 16000 out4.wav Sometime the first is X3, the second is X1 and so on... strange. I will try with another webcam microphone...
  14. Hello everyone I need to record events using a webcam from the console via ssh connection. So I bought an orangepipc2 and a logitech c310 webcam and I started experimenting with ffmpeg and also cvlc. I need to record in HD (1280x720) with audio and minimum 10 frames per second for a duration of an hour or so and if possible in mp4 format with video in libx264 and audio in acc. Disk space is not a problem because I installed armbian (ubuntu 18.04) on an external ssd by usb. The problem is that audio and video are out of sync in cvlc and, in the case of ffmpeg, it gives me several errors and the audio is cut. I have also tried to record audio and video separately, but audio / video sync errors increase. Has anyone turned out the problem? I put you under the example commands I am using ... and they give me errors #!/bin/bash # Detect Logictec c310 device DEVICE=$(v4l2-ctl --list-devices | grep -A1 "UVC" | tail -n1 | tr -d '\t') vid="vid.mp4" ffmpeg -f alsa -r 16000 -i default:CARD=U0x46d0x81b -f v4l2 -video_size 1280x720 -i $DEVICE -pix_fmt nv12 -c:v libx264 -b:v 4M -maxrate 4M -bufsize 1M -preset ultrafast -f mp4 -strict -2 -acodec mp2 $vid -y & vidPID=$! echo "Press 'Enter' to exit" read out #stop audio and video with pids kill -n 2 $vidPID exit #!/bin/bash aud="aud.wav" vid="vid.mp4" DATE=$(date +"%Y-%m-%d_%H-%M") DATE2=$(date +"%d/%b/%Y") echo DATE=$DATE echo DATE2=$DATE2 # Detect Logictec c310 device DEVICE=$(v4l2-ctl --list-devices | grep -A1 "UVC" | tail -n1 | tr -d '\t') ffmpeg -hide_banner -f v4l2 -video_size 1280x720 -i $DEVICE -pix_fmt nv12 -c:v libx264 -b:v 4M -maxrate 4M -bufsize 1M -preset ultrafast -vsync 0 -f mp4 $vid -y & vidPID=$! #grab audio & pid ffmpeg -hide_banner -f alsa -ac 1 -i hw:CARD=U0x46d0x81b,DEV=0 $aud -y & audPID=$! #wait, till name given (that means stop) read out #stop audio and video with pids kill -n 2 $audPID kill -n 2 $vidPID echo "Saving to test.mp4" sleep 2 #combine to the target output file ffmpeg \ -i vid.mp4 \ -i aud.wav \ -c:v copy \ -c:a aac \ -ac 2 \ video_$DATE.mp4 -y #!/bin/bash cvlc -v v4l2:///dev/video0:width=640:height=480 :input-slave=alsa:/sysdefault:CARD=U0x46d0x81b --sout="#transcode{vcodec=h264,vb=2000,fps=10,scale=1.0,acodec=aac,ab=90,channels=1,samplerate=24000,audio-sync}:standard{access=file,mux=mp4,dst=output.mp4}" & PID=$! read stop kill -2 $PID
  15. Hi Werner, by chance, do you know how to tell the Armbian build script, to prepare for example an Armbian 5.88 with kernel 5.0.x for OPI3? Now we are at 5.93 with kernel 5.2.6 but I would like to be able to compile builds with kernel of the 5.0.x series, because although sometimes they were hung and the audio does not work, at least they can be used. Right now I'm using an old build to write to you, but I don't dare to update it in case something breaks.
  16. Hi Verner, I tried this one on muy opi3 https://laet.pw/index.php/s/M2eXJKll5sdnlBN/download?path=%2F0808&files=Armbian_5.93_Orangepi3_Debian_buster_dev_5.2.6.img.gz but it can't start. there is a kernel panic: U-Boot 2019.04-armbian (Aug 08 2019 - 07:28:48 +0000) Allwinner Technology CPU: Allwinner H6 (SUN50I) Model: OrangePi 3 DRAM: 2 GiB MMC: mmc@4020000: 0, mmc@4022000: 1 Loading Environment from EXT4... ** File not found /boot/boot.env ** ** Unable to read "/boot/boot.env" from mmc0:1 ** In: serial@5000000 Out: serial@5000000 Err: serial@5000000 Net: No ethernet found. starting USB... No controllers found Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot/boot.scr 3042 bytes read in 2 ms (1.5 MiB/s) ## Executing script at 4fc00000 U-boot loaded from SD Boot script loaded from mmc 181 bytes read in 1 ms (176.8 KiB/s) 27919 bytes read in 9 ms (3 MiB/s) 4161 bytes read in 5 ms (812.5 KiB/s) Applying kernel provided DT fixup script (sun50i-h6-fixup.scr) ## Executing script at 44000000 8244348 bytes read in 835 ms (9.4 MiB/s) 14954504 bytes read in 1514 ms (9.4 MiB/s) ## Loading init Ramdisk from Legacy Image at 4fe00000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 8244284 Bytes = 7.9 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 4fa00000 Booting using the fdt blob at 0x4fa00000 Loading Ramdisk to 49823000, end 49fffc3c ... OK Loading Device Tree to 00000000497b3000, end 0000000049822fff ... OK Starting kernel ... [ 6.356324] Unable to handle kernel NULL pointer dereference at virtual addr1 [ 6.365113] Mem abort info: [ 6.367901] ESR = 0x96000004 [ 6.370951] Exception class = DABT (current EL), IL = 32 bits [ 6.376861] SET = 0, FnV = 0 [ 6.379909] EA = 0, S1PTW = 0 [ 6.383043] Data abort info: [ 6.385918] ISV = 0, ISS = 0x00000004 [ 6.389746] CM = 0, WnR = 0 [ 6.392709] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000b4bed000 [ 6.399138] [0000000000000501] pgd=0000000000000000 [ 6.404009] Internal error: Oops: 96000004 [#1] SMP [ 6.408877] Modules linked in: snd_soc_hdmi_codec snd_soc_core snd_pcm_dmaenx [ 6.428770] CPU: 2 PID: 514 Comm: haveged Not tainted 5.2.6-sunxi64 #5.93 [ 6.435547] Hardware name: OrangePi 3 (DT) [ 6.439637] pstate: 40000085 (nZcv daIf -PAN -UAO) [ 6.444431] pc : account_user_time+0x18/0xd8 [ 6.448695] lr : account_process_tick+0xf8/0x118 [ 6.453304] sp : ffff000010013d80 [ 6.456612] x29: ffff000010013d80 x28: ffff800077bb0228 [ 6.461916] x27: ffff800077bafd00 x26: 0000000000000040 [ 6.467220] x25: 0000000000000080 x24: 000000017a9bdad6 [ 6.472524] x23: 0000000000000001 x22: 0000000000000001 [ 6.477827] x21: 0000800066db4000 x20: 00000000003d0900 [ 6.483131] x19: 0000000000000001 x18: 0000000000000000 [ 6.488435] x17: 0000000000000000 x16: 0000000000000000 [ 6.493739] x15: 0000000000000000 x14: 0000000000000000 [ 6.499043] x13: 0000000000000000 x12: 0000000000000000 [ 6.504346] x11: 0000000000000000 x10: 0000000000000040 [ 6.509650] x9 : ffff000010e32a78 x8 : ffff000010e32a70 [ 6.514954] x7 : ffff800075000290 x6 : 0000000010b2a35f [ 6.520258] x5 : 0000800066db4000 x4 : ffff000010e18000 [ 6.525562] x3 : 0000000000000000 x2 : 00000000003d0900 [ 6.530865] x1 : 00000000003d0900 x0 : 0000000000000001 [ 6.536170] Call trace: [ 6.538614] account_user_time+0x18/0xd8 [ 6.542531] account_process_tick+0xf8/0x118 [ 6.546797] update_process_times+0x20/0x58 [ 6.550977] tick_sched_handle.isra.5+0x30/0x48 [ 6.555501] tick_sched_timer+0x48/0x98 [ 6.559331] __hrtimer_run_queues+0xfc/0x218 [ 6.563593] hrtimer_interrupt+0xf8/0x2d0 [ 6.567599] arch_timer_handler_phys+0x28/0x40 [ 6.572038] handle_percpu_devid_irq+0x80/0x140 [ 6.576564] generic_handle_irq+0x24/0x38 [ 6.580567] __handle_domain_irq+0x5c/0xb0 [ 6.584658] gic_handle_irq+0x58/0xa8 [ 6.588315] el0_irq_naked+0x4c/0x54 [ 6.591887] Code: a90153f3 aa0003f3 f90013f5 aa0103f4 (f9428000) [ 6.597972] ---[ end trace 51151885df76d1d1 ]--- [ 6.602582] Kernel panic - not syncing: Fatal exception in interrupt [ 6.608929] SMP: stopping secondary CPUs [ 6.612846] Kernel Offset: disabled [ 6.616328] CPU features: 0x0002,20002004 [ 6.620330] Memory Limit: none [ 6.623382] Rebooting in 10 seconds.. sorry...
  17. ...as title. I've installed ispConfig using Armbian-Config, but now I want to remove it. How to do it? Googling I've see that there is a unistall.php or /root/ispconfig/uninstall script that do that, but there is no trace in armbian.
  18. hello, it would be nice to have OctoPrint + Motion in armbian-config/Software/Softy In case someone does not know what I am talking about, I explain: All low-cost 3D printers are based on the opensource RepRap project, which has developed a firmware called Marlin that runs in Arduino. The problem of Arduino is that it is perfect for repetitive tasks, but it is lacking in other things, such as using the TCP-IP protocol, networks, it has very, very little memory, it does not support webcams, ect. So a project called OctoPrint was born that runs on ARM boards, and allows us to control our 3D printer, from a networked computer or from our mobile. If there is a need to create a script to integrate a module, I can try Where there is the necessary documentation about these modules? Another way is that the armbian-config manteiner does it, and in this case, he can use this article that I have written in a Spanish forum ... google-traslate is your friend https://www.spainlabs.com/foros/tema-Octoprint-en-orange-pi-pc-webcam-usb
  19. Hi, who knows how to fix the problem of the displaced screen on the right? This is how Armbian appears with the latest build https://dl.armbian.com/orangepi3/nightly/Armbian_5.90.190705_Orangepi3_Ubuntu_bionic_dev_5.1.15.7z and this is how it appears to me with an old build with kernel 5.0.7, so it's not the monitor's fault Regards
  20. Hi George you can download this one. I hope that this help you. http://io.mrobot.eu/deposito/Armbian_5.82.190423_Orangepi3_Ubuntu_bionic_dev_5.0.7.7z This one it's usable, and you can use with a complete desktop. It's far to be perfect, but usable. (I'm writing from armbiam 5.82 - 5.0.7 installed in the emmc on my OPI3) regards MaX
  21. U-Boot 2019.04-armbian (May 31 2019 - 01:42:20 +0200) Allwinner Technology CPU: Allwinner H6 (SUN50I) Model: OrangePi 3 DRAM: 2 GiB MMC: mmc@4020000: 0, mmc@4022000: 1 Loading Environment from EXT4... ** File not found /boot/boot.env ** ** Unable to read "/boot/boot.env" from mmc0:1 ** In: serial@5000000 Out: serial@5000000 Err: serial@5000000 Net: No ethernet found. starting USB... No controllers found Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot/boot.scr 3042 bytes read in 1 ms (2.9 MiB/s) ## Executing script at 4fc00000 U-boot loaded from SD Boot script loaded from mmc 165 bytes read in 2 ms (80.1 KiB/s) 27608 bytes read in 8 ms (3.3 MiB/s) 4161 bytes read in 4 ms (1015.6 KiB/s) Applying kernel provided DT fixup script (sun50i-h6-fixup.scr) ## Executing script at 44000000 5587948 bytes read in 567 ms (9.4 MiB/s) 14563336 bytes read in 1473 ms (9.4 MiB/s) ## Loading init Ramdisk from Legacy Image at 4fe00000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 5587884 Bytes = 5.3 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 4fa00000 Booting using the fdt blob at 0x4fa00000 Loading Ramdisk to 49aab000, end 49fff3ac ... OK Loading Device Tree to 0000000049a3b000, end 0000000049aaafff ... OK Starting kernel ... Debian GNU/Linux 9 orangepi3 ttyS0 orangepi3 login: [ 82.424484] Internal error: SP/PC alignment exception: 8a00P [ 82.424489] Modules linked in: zstd zram btsdio bluetooth snd_soc_hdmi_codecx [ 82.463741] Process swapper/2 (pid: 0, stack limit = 0x0000000044a1bf13) [ 82.473532] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 5.1.5-sunxi64 #5.88.191 [ 82.484073] Hardware name: OrangePi 3 (DT) [ 82.491347] pstate: 00000085 (nzcv daIf -PAN -UAO) [ 82.499353] pc : 0xf [ 82.504745] lr : bsearch+0x50/0xb8 [ 82.511367] sp : ffff000010013c80 [ 82.517858] x29: ffff000010013c80 x28: 0000000000000010 [ 82.526337] x27: 0000000000000000 x26: ffff800074c034a0 [ 82.534819] x25: ffff800074c034a0 x24: 000000000000000f [ 82.543312] x23: 0000000000000008 x22: 000000000000000f [ 82.551786] x21: 0000000000000001 x20: 0000000000000017 [ 82.560237] x19: 0000000000000001 x18: 0000000000000000 [ 82.568668] x17: ffff000010acba60 x16: ffff000010a88c58 [ 82.577098] x15: 0000000000000000 x14: ffff000010a88c58 [ 82.585533] x13: 0000000000000001 x12: ffff000010a88c30 [ 82.593964] x11: 0000000000000001 x10: ffffffffffffffff [ 82.602394] x9 : 0000000000000000 x8 : 0000000000000006 [ 82.610834] x7 : ffff800077bad870 x6 : 0000000000000040 [ 82.619232] x5 : ffff800073f30bc0 x4 : 000000000000000f [ 82.627577] x3 : 000000000000000f x2 : 0000000000000000 [ 82.635919] x1 : 0000000000000017 x0 : ffff800074c034a0 [ 82.644276] Call trace: [ 82.649759] 0xf [ 82.654611] resched_cpu+0xe4/0xe8 [ 82.661029] mod_timer+0x230/0x340 [ 82.667421] rwb_arm_timer+0x48/0x78 [ 82.673976] wb_timer_fn+0x154/0x178 [ 82.680515] blk_stat_timer_fn+0x154/0x168 [ 82.687565] call_timer_fn+0x20/0x78 [ 82.694114] expire_timers+0xc8/0xf8 [ 82.700609] run_timer_softirq+0xc4/0x200 [ 82.707501] __do_softirq+0x114/0x22c [ 82.714032] irq_exit+0xac/0xc0 [ 82.720039] __handle_domain_irq+0x60/0xb0 [ 82.727020] gic_handle_irq+0x58/0xa8 [ 82.733575] el1_irq+0xb8/0x140 [ 82.739577] arch_cpu_idle+0x10/0x18 [ 82.745991] do_idle+0x1f0/0x2d0 [ 82.752013] cpu_startup_entry+0x20/0x28 [ 82.758704] secondary_start_kernel+0x190/0x1d0 [ 82.766041] Code: bad PC value [ 82.771860] ---[ end trace 93be063b060c8efb ]--- [ 82.779230] Kernel panic - not syncing: Fatal exception in interrupt [ 82.788337] SMP: stopping secondary CPUs [ 82.794975] Kernel Offset: disabled [ 82.801130] CPU features: 0x002,20002004 [ 82.807715] Memory Limit: none [ 82.813392] Rebooting in 10 seconds.. kernbel panic in orangepi3 2GB RAM + Emmc, with last build: https://dl.armbian.com/orangepi3/nightly/Armbian_5.88.190601_Orangepi3_Debian_stretch_dev_5.1.5.7z
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines