#ota12 — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #ota12, aggregated by home.social.
-
Lanzamiento Ubuntu Touch 20.04 OTA-12
https://elcondonrotodegnu.wordpress.com/2026/03/15/lanzamiento-ubuntu-touch-20-04-ota-12
#OTA12 #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Lanzamiento Ubuntu Touch 20.04 OTA-12
https://elcondonrotodegnu.wordpress.com/2026/03/15/lanzamiento-ubuntu-touch-20-04-ota-12
#OTA12 #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Lanzamiento Ubuntu Touch 20.04 OTA-12
https://elcondonrotodegnu.wordpress.com/2026/03/15/lanzamiento-ubuntu-touch-20-04-ota-12
#OTA12 #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Lanzamiento Ubuntu Touch 20.04 OTA-12
https://elcondonrotodegnu.wordpress.com/2026/03/15/lanzamiento-ubuntu-touch-20-04-ota-12
#OTA12 #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Lanzamiento de Ubuntu Touch Noble Numbat 24.04-1.2 y Ubuntu Touch 20.04 Focal OTA-12
Todos los detalles se pueden encontrar en la entrada del lanzamiento del blog:
https://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-1-2-and-20-04-ota-12-release-3987Usuarios actuales de Ubuntu Touch
Los usuarios actuales de Ubuntu Touch recibirán las actualizaciones en Configuración del sistema > Actuali...
Sigue en https://t.me/ubports_noticias/475
#UbuntuTouch240412 #NobleNumbat #UbuntuTouch2404 #OTA12 #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Lanzamiento de Ubuntu Touch Noble Numbat 24.04-1.2 y Ubuntu Touch 20.04 Focal OTA-12
Todos los detalles se pueden encontrar en la entrada del lanzamiento del blog:
https://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-1-2-and-20-04-ota-12-release-3987Usuarios actuales de Ubuntu Touch
Los usuarios actuales de Ubuntu Touch recibirán las actualizaciones en Configuración del sistema > Actuali...
Sigue en https://t.me/ubports_noticias/475
#UbuntuTouch240412 #NobleNumbat #UbuntuTouch2404 #OTA12 #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Lanzamiento de Ubuntu Touch Noble Numbat 24.04-1.2 y Ubuntu Touch 20.04 Focal OTA-12
Todos los detalles se pueden encontrar en la entrada del lanzamiento del blog:
https://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-1-2-and-20-04-ota-12-release-3987Usuarios actuales de Ubuntu Touch
Los usuarios actuales de Ubuntu Touch recibirán las actualizaciones en Configuración del sistema > Actuali...
Sigue en https://t.me/ubports_noticias/475
#UbuntuTouch240412 #NobleNumbat #UbuntuTouch2404 #OTA12 #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Lanzamiento de Ubuntu Touch Noble Numbat 24.04-1.2 y Ubuntu Touch 20.04 Focal OTA-12
Todos los detalles se pueden encontrar en la entrada del lanzamiento del blog:
https://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-1-2-and-20-04-ota-12-release-3987Usuarios actuales de Ubuntu Touch
Los usuarios actuales de Ubuntu Touch recibirán las actualizaciones en Configuración del sistema > Actuali...
Sigue en https://t.me/ubports_noticias/475
#UbuntuTouch240412 #NobleNumbat #UbuntuTouch2404 #OTA12 #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Convocatoria para pruebas: Ubuntu Touch 24.04-1.2 y 20.04 OTA-12
https://forums.ubports.com/topic/11941/call-for-testing-ubuntu-touch-24.04-1.2
https://forums.ubports.com/topic/11942/call-for-testing-ubuntu-touch-20.04-ota-12#UTNoble #UT2404 #UT24041 #UT240412 #NobleNumbat #Ubuntu2404 #OTA12 #UTFocal #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Convocatoria para pruebas: Ubuntu Touch 24.04-1.2 y 20.04 OTA-12
https://forums.ubports.com/topic/11941/call-for-testing-ubuntu-touch-24.04-1.2
https://forums.ubports.com/topic/11942/call-for-testing-ubuntu-touch-20.04-ota-12#UTNoble #UT2404 #UT24041 #UT240412 #NobleNumbat #Ubuntu2404 #OTA12 #UTFocal #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Convocatoria para pruebas: Ubuntu Touch 24.04-1.2 y 20.04 OTA-12
https://forums.ubports.com/topic/11941/call-for-testing-ubuntu-touch-24.04-1.2
https://forums.ubports.com/topic/11942/call-for-testing-ubuntu-touch-20.04-ota-12#UTNoble #UT2404 #UT24041 #UT240412 #NobleNumbat #Ubuntu2404 #OTA12 #UTFocal #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Convocatoria para pruebas: Ubuntu Touch 24.04-1.2 y 20.04 OTA-12
https://forums.ubports.com/topic/11941/call-for-testing-ubuntu-touch-24.04-1.2
https://forums.ubports.com/topic/11942/call-for-testing-ubuntu-touch-20.04-ota-12#UTNoble #UT2404 #UT24041 #UT240412 #NobleNumbat #Ubuntu2404 #OTA12 #UTFocal #Focal #Ubuntu2004 #UBports #UbuntuTouch #Lomiri #SoftwareLibre #GNULinux
-
Ubuntu Touch Q&A 65
Ubuntu Touch Q&A 65 is this Saturday the 14th of December at 19:00 UTC. Please join us for Ubuntu Touch updates, development and answers to your questions! Post them using the forum link before the event and Youtube Livechat and Telegram during the live show.
Live Show : https://www.youtube.com/watch?v=3bIJ7p1fDEo
Forum Link (questions): https://forums.ubports.com/topic/3532/ubuntu-touch-q-a-65-this-saturday-14th-december-at-19-00-utc
UBports@telegram
#ubports:matrix.org -
For this weeks Q&A 63 we will be joined by our friends from Volla. So if you want to learn more about the #VollaPhone, make sure to tune in live at https://www.youtube.com/watch?v=jnOQUAEDApM
Also you can get your Volla questions in beforehand at https://forums.ubports.com/topic/3360/ubuntu-touch-q-a-63-this-saturday-16th-of-november-at-19-00-utcFor more Volla info checkout the following links
Kickstarter: https://www.kickstarter.com/projects/volla/volla-phone-freedom-through-simplicity-and-security
Twitter: https://twitter.com/hello_volla
Instagram: https://www.instagram.com/hello_volla/#UBports #UbuntuTouch #UBportsQandA #Ubuntu #Unity8 #OTA12 #Volla #linux
-
For this weeks Q&A 63 we will be joined by our friends from Volla. So if you want to learn more about the #VollaPhone, make sure to tune in live at https://www.youtube.com/watch?v=jnOQUAEDApM
Also you can get your Volla questions in beforehand at https://forums.ubports.com/topic/3360/ubuntu-touch-q-a-63-this-saturday-16th-of-november-at-19-00-utcFor more Volla info checkout the following links
Kickstarter: https://www.kickstarter.com/projects/volla/volla-phone-freedom-through-simplicity-and-security
Twitter: https://twitter.com/hello_volla
Instagram: https://www.instagram.com/hello_volla/#UBports #UbuntuTouch #UBportsQandA #Ubuntu #Unity8 #OTA12 #Volla #linux
-
UBports Installer Latest Versions
The very latest versions of the UBports Installer are now available from here : https://devices.ubuntu-touch.io/installer
Not only have there been improvements to the installer itself and 115 issues resolved, two development devices have also been added, the OnePlus3 and Xperia X.
To find out more about these devices see the related Forum posts here: https://forums.ubports.com/category/46/devices
#UBports #UbuntuTouch #UBportsInstaller #Ubuntu #OTA12 #OPO #OnePlus #Op3 #Op3t #SonyXperiaX
-
Ubuntu Touch Q&A 63 is Saturday the 16th of November at 19:00 UTC. Please join us for updates and answers to your questions! Post them using the forum link before the event and Youtube Livechat and Telegram during the live show.
Live Show : https://www.youtube.com/watch?v=jnOQUAEDApM
Forum Link (questions): https://forums.ubports.com/topic/3360/ubuntu-touch-q-a-63-this-saturday-16th-of-november-at-19-00-utc
UBports@telegram
#ubports:matrix.org -
In the last few days the Edge channel has been successfully merged with Development bringing the future Ubuntu Touch ever closer. If you want to try Mir 1.x and Unity8 (2017) on your device then update to Dev using System Settings Update or the UBports Installer.
Please remember this is not suitable for your daily device yet.
Further info here:
https://forums.ubports.com/topic/3293/what-s-this-edge-merge-anywayIssue Reporting here: https://github.com/ubports/ubuntu-touch
#UBports #UbuntuTouch #Edge #OTA12 #Ubuntu #linux #developer
-
Raspberry Pi and Frontline SMS
https://shkspr.mobi/blog/2012/06/raspberry-pi-and-frontline-sms/
(I think I'm the first person to try this - so I decided to document the process.)
A few weeks ago, I won a Raspberry Pi at the #OTA12 hackday. It arrived on Friday, so I thought I would turn it into an SMS server using the incredible FrontlineSMS.
0. Setting up the Pi
This is the easy part. Follow the excellent guide on the eLinux wiki. Essentially, download the Debian image, extract, and dd it onto an SD card.
The hardest part was finding a full sized SD! In the end, I found an old adapter and stuck in a 2GB micro SD card.
1. First Boot
My first boot was a failure. Nothing appeared on the screen. So, I switched off the power, unplugged every lead, plugged them back in, and powered it on. Success!
The first thing I did was ensure the operating system was up to date.
Check for updates:
sudo apt-get update
Then, apply those updates
sudo apt-get upgrade
This took a few minutes.
Finally, set up SSH or VNC if you plan on using the machine remotely.
2. Dongle Hardware
FrontlineSMS maintains a list of USB dongles which work with its service. I used a Vodafone branded Huawei E220. Sold as Vodafone K3565The Raspberry Pi only has 2 USB slots - the dongle was slim enough not to interfere with the other USB cable, but it did mean I could only run either a keyboard or a mouse without using a hub. It's recommended that you use a powered USB hub - although my keyboard and mouse didn't seem to draw too much power.
3. Frontline SMS
Downloading Frontline SMS via the commandline (using v1.6 because v2 isn't ready for Linux yet)
wget http://frontlinesms.com/download/secure/FrontlineSMS-distribution-1.6.16.3-linux_i686-dist.zip
Unzip
unzip FrontlineSMS-distribution-1.6.16.3-linux_i686-dist.zip
Run
cd FrontlineSMS-distribution-1.6.16.3./FrontlineSMS.sh
Gave an error - FrontlineSMS requires Java.
4. Installing Java
The Java install takes about 140MB of disk space. After downloading and extracting FrontlineSMS, I only had about 220MB of free space. I deleted the FrontlineSMS zip file and had 234MB free. Just about enough room!
sudo apt-get install openjdk-6-jdk
Wait several minutes and you'll be good to go.
5. Running for the First Time
Frontline SMS requires a GUI.
Running a GUI is as easy as typing
startx
The resolution was set at the slightly odd dimensions of 1264*672 - which meant there was a large black border around the screen.
Open a terminal (Start, Accessories, LXTerminal, then type
cd FrontlineSMS-distribution-1.6.16.3./FrontlineSMS.sh
After several minutes of waiting, FrontlineSMS started!
However, no matter what I tried, I couldn't get FrontlineSMS to detect the dongle. The OS could see it fine (using "lsusb" and "dmesg"), but it just didn't appear to be detected by FrontlineSMS.
A delve into the commandline, showed this error:
librxtxSerial.so: cannot open shared object file: No such file or directory(Possible cause: can't load IA 32-bit .so on a ARM-bit platform)thrown while loading gnu.io.RXTXCommDriver
6. Installing the Correct Libraries
We need to load the correct (ARM) version of rxtx.
sudo apt-get install librxtx-java
Find where the install process has dumped it
find . -name "librxtxSerial.so"
It should show you two location - the first being where the correct version is, the second where the FrontlineSMS version is.
./usr/lib/jni/librxtxSerial.so./home/pi/Desktop/FrontlineSMS-distribution-1.6.16.3/librxtxSerial.so
All we need to do is overwrite the incorrect version.
cp /usr/lib/jni/librxtxSerial.so /home/pi/Desktop/FrontlineSMS-distribution-1.6.16.3/
Then, run
./FrontlineSMS.sh
And, after some warnings and waitings, you should see
Hey Presto! FrontlineSMS up and running on a Raspberry Pi!
(Oh! I finally worked out how to do screenshots! install scrot and run "scrot -d 10" to take a screenshot after 10 seconds.)
7. Manually Sending an SMS
Running FrontlineSMS via Java on a 700MHz ARM device is very slow. It is possible to talk directly to the dongle and manually tell it to send SMS.
First, I installed picocom.
sudo apt-get install picocom
To find out where the dongle has been installed, type:
dmesg
Which will give an long output, which should contain some text like this like this:
option 1-1.2:1.1: GSM modem (1-port) converter detectedusb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0option 1-1.2:1.0: GSM modem (1-port) converter detectedusb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
The dongle installs itself in two places - ttyUSB0 & 1. It's the first one we want.
Connect by issuing this command
picocom /dev/ttyUSB0 -b 115200 -l
Which will give you the output
port is : /dev/ttyUSB0flowcontrol : nonebaudrate is : 115200parity is : nonedatabits are : 8escape is : C-anoinit is : nonoreset is : nonolock is : yessend_cmd is : ascii_xfr -s -v -l10receive_cmd is : rz -vvTerminal ready
From now on in, we're typing commands directly into the dongle. You cannot press the delete key! Copy & paste, or be careful when typing!
First, to make sure everything is working, we type
AT
We should see this response
OK
Next, set the dongle to text mode
AT+CMGF=1
Again, the response should be
OK
Let's send our first SMS!
AT+CMGS="+447700900123"
This will not say "OK", rather, it will prompt us to type a message
>
Type your message, so the screen looks like
> This is a test
DO NOT HIT ENTER. Instead, hit CTRL and Z at the same time.
You should see a response like
+CMGS: 193OK
The number is the "sent items" reference. Within a few moments, the SMS should have been received.
You can send an SMS to the dongle. To check for messages, type the command
AT+CMGL="ALL"
You should see all the messages in the inbox
+CMGL: 0,"REC READ","+447700900000",,"12/06/19,13:53:19+04"Received+CMGL: 1,"REC READ","+447700900321",,"12/06/23,17:16:29+04"Testing+CMGL: 2,"REC UNREAD","+447700900555",,"12/06/23,23:27:48+04"This is another test
To quit picocom, hold down CTRL, then hold down A, then hold down X.
Useful Links
A collection of links I found useful when writing this blog post
- http://designbuildtestrepeat.wordpress.com/2008/04/29/huawei-e220-on-linux-for-sms/
- http://www.diafaan.com/sms-tutorials/gsm-modem-tutorial/
- http://www.shapeshifter.se/2008/04/30/list-of-at-commands/
- http://raspberrypi.homelabs.org.uk/raspberrypi-the-arduino-development-tool/
- http://developer.vodafone.com/labs/opensource/linux- connection-manager/operating-systems/ubuntu-linux-setup/
- For unlocking Huawei modems
#frontlinesms #hack #hacking #hardware #linux #ota12 #RaspberryPi #sms
-
Optical Theremin - Demo
https://shkspr.mobi/blog/2012/06/optical-theremin-demo/
At Over The Air I demonstrated what I considered a novel use for one of Android's sensors. I wanted to create a Theremin - a type of musical instrument which is played by moving one's hand over it - changing pitch and tone by moving nearer or further away.
My first attempt used the proximity sensor. However, on all the Android phones I tried the sensor's accuracy was binary - it could sense if something was close by, but not say how close.
So, what else could I use to detect how near or far a hand was from the screen? I decided to co-opt the Light Sensor. This is normally used to automatically adjust the brightness of the screen - making it easier to see in strong light.
When the light sensor is uncovered, the total lux (that's the measure of light) may be 100. As a hand moves closer to it, that value will dip until it reaches 0 (or, on my phone, 4).
We can then represent that light value as a sound - essentially transforming lx into Hz!
This is what is sounds like
Your browser does not support the audio element - download the track.
Beautiful, I'm sure you agree! You can hear an interview where I discuss this app with the BBC's Jamillah Knowles on the Outriders Podcast (22m 50s in).
🔊 Outriders 05 Jun 12: Moscow and Bletchley Park
🎤 BBC Radio 5 liveIf you want to have a play with it, the Optical Theremin Demo is in the Google App Store. Do note, it was coded in a couple of sleep deprived hours, crashes when you exit, and can produce "music" which scares children and animals. You have been warned!
Use The Source, Luke!
I've included the full source below, but I'd like to pick out two points which may be of interest.
Getting The Lux Value
Firstly, we need to register a listener for the light sensor.
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); mSensorManager.registerListener(this, mLightSensor, SensorManager.SENSOR_DELAY_FASTEST);}Every time the light sensor changes, this method will be called. It takes the light value and performs a simple mathematical transformation on it (adds 10, multiplies by 5). I found that this gave the most pleasing sound - but you can adjust it to your tastes
@Override public void onSensorChanged(SensorEvent event){ if (event.sensor.getType()==Sensor.TYPE_LIGHT){ mLux = event.values[0]; freqOfTone = (mLux +10) * 5; }}Cum on Feel the Noize
So, how do we get Android to generate a tone? I faffed around with this audio generating code from StackOverflow until I could successfully generate a tone.
Essentially, this creates a WAV of a tone and gets it ready to play.
However, this sounded rather boring, so I added some reverb.
audioTrack.attachAuxEffect(EnvironmentalReverb.PARAM_DECAY_TIME);And that's it!
Download the Optical Theremin Demo App - or use the source to create something much more melodious.
Full Source
package mobi.shkspr.android.theremin;import java.util.Random;import android.app.Activity;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import android.hardware.SensorManager;import android.media.AudioFormat;import android.media.AudioManager;import android.media.AudioTrack;import android.media.audiofx.EnvironmentalReverb;import android.os.Bundle;import android.os.Handler;import android.util.Log;import android.widget.TextView; public class TheraminActivity extends Activity implements SensorEventListener{ // originally from http://marblemice.blogspot.com/2010/04/generate-and-play-tone-in-android.html // and modified by Steve Pomeroy [email protected] private final int duration = 5; // seconds private final int sampleRate = 8000; private final int numSamples = duration * sampleRate; private final double sample[] = new double[numSamples]; private double freqOfTone = 440; // hz private final byte generatedSnd[] = new byte[2 * numSamples]; private SensorManager mSensorManager; private Sensor mLightSensor; private float mLux = 0.0f; private String tLux = "Lux is "; public AudioTrack audioTrack; Handler handler = new Handler(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); mSensorManager.registerListener(this, mLightSensor, SensorManager.SENSOR_DELAY_FASTEST); } @Override public void onSensorChanged(SensorEvent event){ if (event.sensor.getType()==Sensor.TYPE_LIGHT){ mLux = event.values[0]; String luxStr = String.valueOf(mLux); TextView tv = new TextView(this); tv.setText(tLux); setContentView(tv); Random r = new Random(); freqOfTone = (mLux +10) * 5; } } @Override protected void onResume() { super.onResume(); final Thread thread = new Thread(new Runnable() { public void run() { for (int i = 0; i < 300; i++) { genTone(); audioTrack = new AudioTrack( AudioManager.STREAM_MUSIC, sampleRate, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, numSamples, AudioTrack.MODE_STATIC); try { playSound(); Thread.sleep(505); } catch (IllegalStateException e) { } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }); thread.start(); } void genTone(){ // fill out the array tLux = "Frequency is " + freqOfTone; //Log.d("LUXTAG", "Lux value: " + tLux); for (int i = 0; i < numSamples; ++i) { sample[i] = Math.sin(2 * Math.PI * i /(sampleRate/freqOfTone)); } // convert to 16 bit pcm sound array // assumes the sample buffer is normalised. int idx = 0; for (final double dVal : sample) { // scale to maximum amplitude final short val = (short) ((dVal * 32767)); // in 16 bit wav PCM, first byte is the low order byte generatedSnd[idx++] = (byte) (val & 0x00ff); generatedSnd[idx++] = (byte) ((val & 0xff00) >>> 8); } } void playSound(){ genTone(); try { audioTrack.attachAuxEffect(EnvironmentalReverb.PARAM_DECAY_TIME); audioTrack.write(generatedSnd, 0, generatedSnd.length); audioTrack.play(); } catch (IllegalStateException e) { audioTrack.release(); } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO Auto-generated method stub } @Override public void onPause() { super.onPause(); audioTrack.stop(); audioTrack.flush(); audioTrack.release(); } @Override public void onStop() { super.onStop(); audioTrack.stop(); audioTrack.flush(); audioTrack.release(); } @Override public void onDestroy() { super.onDestroy(); audioTrack.flush(); audioTrack.stop(); audioTrack.flush(); audioTrack.release(); } }#android #demo #development #hacks #ota12 #overTheAir #theremin