LoRa & FSK in the Kernel
This is a modal window.
Das Video konnte nicht geladen werden, da entweder ein Server- oder Netzwerkfehler auftrat oder das Format nicht unterstützt wird.
Formale Metadaten
Titel |
| |
Untertitel |
| |
Alternativer Titel |
| |
Serientitel | ||
Anzahl der Teile | 40 | |
Autor | ||
Mitwirkende | ||
Lizenz | CC-Namensnennung 3.0 Unported: Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen. | |
Identifikatoren | 10.5446/54412 (DOI) | |
Herausgeber | ||
Erscheinungsjahr | ||
Sprache |
Inhaltliche Metadaten
Fachgebiet | ||
Genre | ||
Abstract |
|
openSUSE Conference 201925 / 40
7
11
12
13
15
16
17
18
19
20
23
25
26
27
34
38
40
00:00
Drahtloses lokales NetzPhysikalisches SystemSystem-on-ChipEinfache GenauigkeitWhiteboardDatenverarbeitungssystemKonfiguration <Informatik>WärmeausdehnungBefehlsprozessorHausdorff-DimensionBootenKonfigurationsraumGeradeSkriptspracheFaltungsoperatorOrdnung <Mathematik>FaltungsoperatorSchnittmengeInformationOverlay-NetzDifferenz <Mathematik>Projektive EbeneEntscheidungstheorieTopologieSelbstrepräsentationHierarchische StrukturElektronische PublikationHypermediaBildschirmschonerMultiplikationsoperatorVirtuelle MaschineBootenInterface <Schaltung>RandomisierungAdditionPunktZahlenbereichSpeicherabzugSoundverarbeitungFamilie <Mathematik>PlastikkarteZahlensystemParametersystemDimensionsanalyseARM <Computerarchitektur>MAPMechanismus-Design-TheorieEreignishorizontFrequenzVerschiebungsoperatorComputerarchitekturProdukt <Mathematik>Offene MengeDatenverwaltungExogene VariableKonfigurationsraumCoxeter-GruppeInverser LimesDateiverwaltungGeradeKategorie <Mathematik>Physikalisches SystemHardwareTypentheorieTreiber <Programm>WhiteboardBefehlsprozessorNotebook-ComputerWärmeausdehnungSoftwareDefaultFehlermeldungRegulärer GraphComputeranimation
06:06
SkriptspracheFaltungsoperatorSchreiben <Datenverarbeitung>BootenTopologieTreiber <Programm>UmwandlungsenthalpieEin-AusgabeElektronische PublikationHardwareVersionsverwaltungTreiber <Programm>MenütechnikRegulärer GraphSpezielle FunktionUmwandlungsenthalpieShape <Informatik>Serielle SchnittstelleAdditionBootenExogene VariableAdressraumFunktion <Mathematik>GamecontrollerWärmeausdehnungOrdnung <Mathematik>WhiteboardRandomisierungKonfigurationsraumEin-AusgabeTopologieOverlay-NetzIterationSoundverarbeitungProjektive EbeneFaltungsoperatorSchnittmengeDämpfungPhysikalisches SystemSkriptspracheBenutzerfreundlichkeitTaskHalbleiterspeicherWärmeübergangLastBus <Informatik>DefaultDatensatzCASE <Informatik>ZufallsgeneratorARM <Computerarchitektur>ZahlenbereichEinfügungsdämpfungPersönliche IdentifikationsnummerE-MailKategorie <Mathematik>FunktionalPhysikalismusSpeicherabzugRichtungComputeranimation
12:05
TypentheorieModul <Datentyp>FirmwareCodeSerielle SchnittstelleSoftwareHardwareSocket-SchnittstelleWeitverkehrsnetzSocketDynamisches RAMNP-hartes ProblemTheoretische PhysikTreiber <Programm>PunktProjektive EbeneGamecontrollerRahmenproblemTelekommunikationHypermediaCASE <Informatik>Einfach zusammenhängender RaumWhiteboardInterface <Schaltung>DatenstrukturMikrocontrollerSpeicherverwaltungBitRohdatenDateiformatPersönliche IdentifikationsnummerImplementierungZahlenbereichFamilie <Mathematik>StrömungsrichtungAggregatzustandKlasse <Mathematik>Physikalisches SystemSoftwareTreiber <Programm>Puffer <Netzplantechnik>KonfigurationsraumSocketFaltungsoperatorProtokoll <Datenverarbeitungssystem>Minkowski-MetrikSoftwareentwicklungRechter WinkelRandomisierungSpielkonsoleBildschirmmaskeMessage-PassingNichtlinearer OperatorUrbild <Mathematik>FirmwareStandardabweichungUmwandlungsenthalpieAnpassung <Mathematik>Ordnung <Mathematik>BimodulInstallation <Informatik>SystemaufrufSchedulingHardwareFunktionalKategorie <Mathematik>WärmeausdehnungPeripheres GerätSerielle SchnittstelleComputeranimation
17:53
NP-hartes ProblemTreiber <Programm>Theoretische PhysikSocketProtokoll <Datenverarbeitungssystem>SoftwaretestVollständigkeitOperations ResearchFreewareRechenschieberVideokonferenzSchnittmengeKeller <Informatik>VersionsverwaltungBildschirmmaskeSchaltnetzTelekommunikationKonfigurationsraumBimodulSpannweite <Stochastik>HardwareUmwandlungsenthalpieCASE <Informatik>ImplementierungInterface <Schaltung>Ordnung <Mathematik>Treiber <Programm>Familie <Mathematik>MultiplikationsoperatorATMNichtlinearer OperatorMAPZahlenbereichCodierungAdditionPunktspektrumInstantiierungFaltungsoperatorProtokoll <Datenverarbeitungssystem>FrequenzPhasenumwandlungMailing-ListeWurm <Informatik>EntscheidungstheorieFehlermeldungOffene MengeBitratePhysikalische TheorieMomentenproblemEndliche ModelltheorieAnpassung <Mathematik>E-MailSystemplattformWhiteboardSoftwaretestWärmeausdehnungTeilbarkeitBandmatrixCoxeter-GruppeData MiningKartesische KoordinatenEnergiedichteGewicht <Ausgleichsrechnung>VerschlingungComputeranimation
23:33
FaltungsoperatorQuellcodeInstallation <Informatik>DefaultBimodulKonfiguration <Informatik>WhiteboardWärmeausdehnungFunktion <Mathematik>IntelHardwareSoftwaretestAuswahlaxiomARM <Computerarchitektur>Virtuelle MaschineElektronische PublikationStellenringÄußere Algebra eines ModulsDokumentenserverPatch <Software>WarteschlangeOrdnung <Mathematik>StrömungsrichtungTreiber <Programm>WhiteboardFunktion <Mathematik>TopologieBimodulFaltungsoperatorPhysikalische TheorieMultiplikationsoperatorSoftwaretestKonfiguration <Informatik>AdditionSoftwareentwicklerE-MailQuellcodeDefaultPhysikalisches SystemCASE <Informatik>Lineare OptimierungZahlenbereichComputerarchitekturDistributionenraumOffene MengeData MiningBinärdatenVersionsverwaltungVerzeichnisdienstMagnetbandlaufwerkMessage-PassingComputeranimation
27:13
HardwareEingebettetes SystemTreiber <Programm>GatewayZahlenbereichGrenzschichtablösungHardwareInterface <Schaltung>UmwandlungsenthalpieSoftwaretestARM <Computerarchitektur>Computeranimation
28:18
WhiteboardNotebook-ComputerBootenRechnernetzTreiber <Programm>GoogolDefaultKonfigurationsraumFaltungsoperatorGruppenoperationRISCWhiteboardARM <Computerarchitektur>Notebook-ComputerSoftware Development KitAdditionUnrundheitProzess <Informatik>Patch <Software>Divergente ReiheRegulärer GraphBridge <Kommunikationstechnik>DatensichtgerätE-MailMailing-ListeCASE <Informatik>MultiplikationsoperatorInverser LimesPersönliche IdentifikationsnummerGewicht <Ausgleichsrechnung>Kontextbezogenes SystemSpeicherabzugEinfach zusammenhängender RaumPhysikalische TheorieProgrammierumgebungTypentheorieWald <Graphentheorie>Ordnung <Mathematik>Komplex <Algebra>ComputerarchitekturFaktor <Algebra>Hardwarep-BlockVersionsverwaltungProgrammfehlerBootenGruppenoperationHilfesystemArithmetische FolgePlastikkartePhysikalisches SystemEinfache GenauigkeitFirmwareTreiber <Programm>SchnittmengeÄhnlichkeitsgeometrieGamecontrollerProjektive EbeneFaltungsoperatorKonfigurationsraumKoordinatenGenerator <Informatik>RückkopplungCoxeter-GruppeWort <Informatik>SoftwareSystem-on-ChipSoftwaretestFlash-SpeicherPi <Zahl>Reelle ZahlWurzel <Mathematik>MomentenproblemOffene MengeBus <Informatik>Computeranimation
37:12
Overlay-NetzShape <Informatik>NeuroinformatikRegulärer GraphPersönliche IdentifikationsnummerWhiteboardOffene MengeBildgebendes VerfahrenMechanismus-Design-TheorieWärmeausdehnungSchreib-Lese-KopfBimodulDefaultHardwareARM <Computerarchitektur>Endliche ModelltheorieMaschinenschreibenVisualisierungMAPInverser LimesPi <Zahl>TopologieGradientComputeranimation
40:19
WhiteboardFunktion <Mathematik>Offene MengeMultiplikationsoperatorCASE <Informatik>Produkt <Mathematik>Anpassung <Mathematik>TypentheorieGatewayWärmeausdehnungMeterSpannungsmessung <Mechanik>Persönliche IdentifikationsnummerBimodulPhysikalisches SystemPolarkoordinatenBitsinc-FunktionAdditionSchnittmengeBus <Informatik>KonfigurationsraumUnrundheitVorlesung/KonferenzBesprechung/Interview
42:39
Videokonferenz
Transkript: Englisch(automatisch erzeugt)
00:06
Hello everyone, we've sorted out the remaining hardware and software issues. So let's slowly get started. So hello
00:31
My name is Andreas Farber Most of you know me from talking about arm boards and the hardware enablement at previous events today I'm going to talk about a slightly different topic, but I am going to get back to
00:44
Arm in the end of this presentation I work at SUSE labs as a project manager responsible for all our products on the arm architecture The topic of today's talk is LoRa and frequency shift keying radio technologies
01:03
inside the Linux kernel in particular How I've been developing such a new kernel technology and in general how to use Not just arm boards, but like anything really connected to such on boards
01:23
at Last year's event and possibly before that I've been speaking about the three dimensions that we've been working on So for one arm from time to time has been adding new CPU cores other vendors obviously as well Then for a given CPU core there may be one or more companies actually implementing
01:43
physical chips with that So that is kind of a one-to-end relationship between the cores to the socks And then finally for a given chip that people can actually buy through their distributors or from the companies directly There will be any number of boards with varying number of connectors
02:02
additional chipsets on there and expansion possibilities Now that is the stop that we have been previously working on and we were usually pretty happy once we actually had the board booting up Into opens use a tumbleweed and have a prompt and have all the packages in place to be able to reproduce that But at that point well
02:21
It's slightly boring because you have a tumbleweed system as you have pretty much anywhere else so the real value actually comes when you make use of the Interfaces that those boards are offering that you would normally not have on you know any random notebook or other devices that You may be familiar with now the big question is
02:44
The hardware has been out there for you to purchase for quite a long time How do we actually use this in open SUSE? I will be diving first into this generally and then going specifically into those radio chips. That's in general
03:01
there are two different types of How the hardware represents itself to the Linux kernel One is a CPI as we have on all Intel machines virtually The other one is the so-called device tree, which is a tree hierarchical
03:23
representation of data that is then read by the kernel in order to make decisions about what drivers to load and What specific settings to apply? The so-called DTB of those device trees get compiled into so-called device tree blob that is in short the DTB and a device tree overlay is
03:44
Then like a diff that you apply to This base set of information on top in order to customize it To your needs now on the Raspberry Pi This is fairly easy and kind of well documented in that there is a text configuration file
04:04
On open SUSE. This will be extra config.txt Because config.txt is provided by our packages and may actually get changed on updates of the packages provided by open SUSE In those text config files you can add a line
04:21
Called DT overlay and then specify the file name of the overlay that you actually wanted to apply on Top of the overlay that on top of the device tree that it will be using in the first place I've run into a slightly odd limitation that nothing will warn about so if something goes wrong there
04:41
There's no error. It will still boot. It will just not have those settings applied The file name needs to be sufficiently short so that with this Prefix notation or any parameters that you may want to add at the end of the line It is not longer than about 80 characters
05:00
Once all those things are Applied so either you can write it directly onto the SD card if you already have a tumbleweed system booting on that system You can edit that within the system Then you need to reboot in order for them to take effect and you will see in the proc device tree file system whether the properties have changed in the way that you have told it to and obviously check whether
05:25
The drivers have been loaded by the kernel That is one way that unfortunately is Specific to that family of boards now even on the Raspberry Pi We are using the u-boot bootloader as a second stage bootloader or third stage depending on how you count
05:45
and By default there is a so-called distribute mechanism that will iterate over the available boot devices check for what files are available on those boot devices in that particular order and then normally and because we have the
06:00
EFI enabled grub bootloader on our media. It will load grub however, this can be preempted by having a boot on SCR file on there. That's a Text script file converted with a binary header That contains command that would then be executed either before or instead of the commands that
06:24
It would do by default So that is one Possibility to simply duplicate the relevant commands that you need for booting that is in particular loading the kernel loading the device tree loading the init RD
06:41
And then specifying a command to start executing it And then before actually executing it you can in that script Insert additional commands that it would not execute by default So for one Normally, we would just be passing and variable containing an address to the boot command
07:04
464 but on that would be the boot I command for 32, but arm usually the boot Z command In this case if we want to actually mess with that device tree we need to first tell it what the address of the device tree is before actually booting that is the FDT adder command as an address and
07:23
Then afterwards we can do any things with further FDT commands in particular We can load additional D TBO files into memory and then apply them to the base DTB file with this FDT apply command down there so one thing to be aware of is that the behavior is vastly different from the Raspberry Pi in
07:48
that if anything goes wrong like if the Syntax is wrong or it doesn't find what you actually want to do there This will break and the base device tree will be in an unusable shape So you'll need to start from scratch or reboot whatever
08:02
You are doing in your particular setup Once the script has been compiled and isn't complete is in place You can simply reboot the board and those settings will start to take effect and you can again check in the running system whether everything is the way You wanted it to look and if necessary iterate on what exactly it's been doing
08:24
now If all else fails, for example Because you have a Tiana core e dk2 as a bootloader instead of you boot or because you have a very ancient U-boot that does not have those FDT commands enabled as a last resort pretty much it is possible to
08:40
Specify a device tree with grub. There is a device tree command that can be used to specify such a DTP file However, this is not an overlay file. So this is really the device tree that Linux will be using directly. So for one The bootloader always has an opportunity to modify any device tree that it uses as
09:04
An input and for example It can use a random number generator in order to generate an offset to use for kernel address space layout randomization If you provided a fixed DTB then you are in control of what exactly the kernel will see and nothing else
09:23
will change after that so it becomes your responsibility to Make sure that this DTB file is in a sane shape Custom CFG is a very convenient way to have those additional grub commands be integrated into our regular user boot flows in that
09:45
You can just run the config and SUSE will take care of all the YAS tools and grub tools will take care of generating a menu with the various kernel versions that you have installed and For example before or after that menu, it would just be executing any commands that you have specified
10:03
I'm this way obviously one handy thing that I always do is also insert an echo to actually make sure that it is doing what I want when I want and I've been talking about a Lot what you do with the DTB or DTB file. How do you actually get those files for one?
10:26
the Raspberry Pi comes with a number of pre-generated DTB o files for certain frequently used expansion boards But it is also very easy to write this on your own with a simple text syntax
10:41
The main things that you will need to do For any given node be it, you know a spy node I square C you are PWM whatever it is in the end is that you need to make sure that the specific function you want to use is actually Enabled you do that by overriding the status property
11:00
And in some cases it may be necessary to assure that also the so-called pin control configuration is set that means switching between whether the Physical pin is actually going to be just an input output or whether it has a special function like for example Those mentioned here spy you are at whatever exactly
11:21
Once you have the driver and enabled the second task is to make a driver specific node addition to there So if you have a serial port you can directly and via the serial device bus and attach drivers to interface with the you art or Obviously for spy nodes you can have
11:41
Just regular spy drivers that are interfacing with the hardware registers and transfers directly and again It depends on the individual driver. What exactly needs to be specified there usually there is documentation for my new stuff and that is something we're still working on but
12:01
usually examples are available that can be copied from Now to the actual project At some point you will have on the one hand Your board running our Linux and
12:20
On the other hand some random chipset so for example This is a click board that implements the lower run radio standard and the question is if you have the hardware and you have The board you might have either a connector or there's various adapters available. For example to go from raspberry pi 40 pin pin out to
12:42
Arduino pin out or this click pin out microbus pin out, sorry or XB or any number of vendor specific variants and the big question is how can you then make use of this hardware? this
13:01
Before I get to the details of that I'll be talking a bit more about variants of the LoRa radio modules so This one that I was just holding up over here is the middle variant where you have a small microcontroller on board of the
13:21
expansion board This is then driving the actual radio communication and you are communicating In this case via a Huard And it is up to that microcontroller firmware provided by the vendor to determine how exactly you speak To that particular module
13:40
the reason that many vendors do this is because it allows them to certify the firmware that they've developed and afterwards you can use that in various regulatory region of the world and You know not have to deal with that yourself Whereas like the original class of devices that I was starting with Have the actual chipset directly on the board without any additional microcontroller
14:05
and that means that in many cases it's going to be the serial peripheral interface or Huards in some cases it might even be via a USB connection be it be USB spy or USB Huard
14:24
And For that It will be exposing directly the full features of the physical layer of the radio communication So that means you can send out various packets
14:41
But if you want to have a specific protocol like LoRaWAN, then you need to have the so-called software Mac medium access control layer driver That is implementing the actual packet frames and structure of that particular protocol that you want to drive and any addressing and related functionality and
15:03
Finally what you can see on the very right in gray is that there are also other modules that you will find That are outside of this category that we can use with Linux in that they are actually meant to have the user install Custom firmware on a microcontroller and usually on those microcontrollers, there is insufficient RAM to actually run Linux
15:27
Now how to interface this is trying to depict various subsystems of the Linux kernel So like, you know memory management scheduling and so on and so on and then you have certain technology specific subsystems
15:46
Like for example spy TTY and USB where you have certain generic drivers that will allow you to Expose so that will expose a device to use a space allowing you from user space
16:02
to then Access via the standard syscalls and well jalopy and provided operations with those devices in particular what you will find a lot is like github projects that will be using spy dev in order to Send and receive messages via these fibers as well as what most of you will probably know is if you have like serial console
16:25
Or a you know other you are connected devices connected. You will have some form of TTY device and that you can then Access to via those commands and you know right from random user space programs What I've been working on instead is to have drivers inside the Linux kernel that will abstract those vendor specific interfaces
16:47
So just like you have an eth0 device or whatever it may be obscured depending on the system configuration And you will have network interfaces that expose and that allow you to create a socket which in turn will be using buffers
17:02
to manage and move around packets both outgoing and incoming and Provide a interface that is specific to this radio technology as opposed to one of those many particular chipsets for that technology
17:20
On the software side those socket layers then as the current state of discussion and implementation Would be using the PF packet protocol family On down on the left side over here to Send raw LoRa packets, which allows you to send data from one board to another board
17:43
You know just send and receive arbitrary data in any way that you want to format it and as an alternative besides that There has been work ongoing on developing such a soft Mac for LoRa1 as a module that would then be Translating from a higher level packet family LoRa1
18:04
with two different modes in that case Either directly to hardware specific command interfaces Like AT commands or other forms of communication or to translate that to the existing LoRa driver stack
18:22
on the LoRa layer similarly Just like you have the config 802.11 module for Wi-Fi There is a config LoRa module in the works, which allows you to set certain Configuration details by exposing and a net link LoRa interface such as for example setting the frequency getting the frequency
18:46
Setting the spreading factor the bandwidth other aspects of the technology. This is being worked on at the moment And the idea is to have the same thing also for LoRa1 so that on top you have an abstract layer that is modeling things like data rates and
19:04
Configurations on this higher level that will then translate directly to Either the hardware Mac layer over here or to the existing and a LoRa interface for the soft Mac chipsets What can you do with that well you can as the user directly use
19:25
The LoRa interface to send whatever packages you want peer-to-peer. There's also some proprietary Protocols that someone could theoretically implement, but that we cannot implement ourselves as a GPL implementation LoRa1 was already mentioned on top of LoRa1 you can drive again all kinds of payloads yourself, but
19:47
Most of the LoRa chipsets also expose an FSK modulation That's a different kind of transmitting the data so basically you have Amplitude frequency and phase as the three axis that you can modulate data on or combinations of them
20:09
LoRa chipsets by them take expose both as alternatively configured modes there is a large range of protocols that are based on FSK some in the home automation sector for example
20:28
Yeah, you can read some of those names here. I'm not going to go into all of them BLE and depending on which frequency spectrum we're thinking on so LoRa usually is being used in the sub gigahertz spectrum
20:43
But FSK can also be used in the 2.4 gigahertz spectrum for instance That's where Bluetooth low energy is located and there is actually some chipsets that Have like three of those modes and implemented in one module as well as a number of not
21:02
GPL or At least either not documented or not legally implementable as GPL technologies that are listed here As well as okay is an amplitude based very simple Modulation and in the 2.4 gigahertz and LoRa chipsets. There's also what they call the
21:24
fast long-range coding as an additional modulation technology Netlink operations Could use people that either propose interfaces or actually implement them. That is something that Has been worked on in well a number of the last weeks since the Netdev conference
21:45
so For the generic interface as well as One particular chipset it usually takes Well one night to implement one or two of those operations just for one chipset and there's many more that are in the work
22:04
So over time we'll need to complete the existing driver implementations or add new implementations for whatever chipsets it is that you have access to In order to make use of the drivers for various boards and combination of boards adapters Expansion boards and chipsets one always needs those DT snippets
22:24
In theory yes a CPI is another technology that Could be used but that currently is not implemented Testing is always needed over time to catch errors
22:41
We have open design discussion on how to actually do things where decisions need to be taken and in some cases Testing has resulted in entirely unrelated problems in the kernel that simply have become hurdles like for example that clock driver interface simply locks up when called from certain
23:03
Operations on platforms, but not on all so that it wasn't initially noticed so Increasing that base Will certainly be a good thing there is a new mailing list available for this Linux LP one on infra dead There is also a LoRa ISC channel available
23:21
And there are previous presentations of mine with more details on the technical implementation and any particular open issues and feel free to catch me After this talk or later during the conference for more detailed discussions now moving on to how this has actually been developed
23:41
in general These are basically the choices that people have if you want to develop a new kernel driver For one you can always just get the original Linux git checkout Compile it on an arm board or cross compile it on your Intel machine deploy it Some way by you know copying over the files to that
24:01
System the alternative is to take the kernel source git repository that we are using to build the distro kernels You could in theory throw a couple of patches into there and have them built by the OBS infrastructure Then you have a package that you can just easily install But you know fiddling that in each time is going to be work that so far
24:21
I have not engaged in and then a third option that I have been using extensively is that In addition to the kernel default or kernel LP e kernels that we are building for the distro. There are actually accompanying Kernel default develop packages and the kernel develop package
24:40
That includes all the intermediate binary files and headers needed for kernel development on that particular board With our kernel sources and you can then use that to build modules Locally and on that system and simply insert them into the kernel it will show a taint message, but well, what do we care?
25:04
The alternative would be to put this into a spec file again, you know package one big or multiple patches apply them to sources and Then build a KMP package in OBS and again install such a KMP package in addition to the kernel package
25:21
That you already have installed in my case I had a number of arm also MIPS boards and other architectures. I'm around and Depending on the board, obviously, we don't have a MIPS distribution for For open zuza. So there I've been just cross compiling an upstream kernel and testing that directly for the arm boards
25:47
The approach that I was just mentioning For that purpose there is a github repository of mine that has a make file and this make file automates if you just run make
26:02
Reading out the current kernel version using that particular directory that we have in order to build the local tree of kernel modules against that The current requirement is it needs to be a kernel 420 or newer. So it doesn't work with leap only with recent tumbleweed
26:23
And then yes, there is a kernel org repository with some Already posted patches staged for LoRa drivers as well as FSK there sometimes I'm ahead of myself and have a queue of new things in my private github repository that I still need to
26:42
send out and All those boards then have basically the same drivers Installed and I can then use one of those boards in order to send via one of those interfaces and Try to receive that data on the other boards and Currently that is being done by using debug output from the kernel on those boards
27:05
And since the receive path on most of the drivers is not yet fully implemented So a number of people helped make this happen Ben Whitten from company Laird they do gateways has been contributing to the SX 1301
27:25
Linux driver as well as some volunteers in Taiwan John Hong Pan and in As well as several others in in Germany and a number of sorry
27:44
That was here the company I was just talking about and A number of other vendors have helped us out in providing hardware and to allow for a broader testing of those drivers and Creating more drivers and finding an abstract interface that fits all those various vendor specific
28:03
interfaces so thank you again to those people who have made that happen and If you have hardware from companies that is not listed here Just let me know or talk to those companies whether they may be willing and interested to participate as well Having talked a lot about arm boards already. I'll be giving a couple
28:22
Updates as a bonus here. So for one Torsten Duwe has been working on the only makes terrace one notebook That's a notebook kit that you assemble yourself based on the all winner a64 and system on chip He has been actively working on upstreaming you would support for this board so that we have the regular opens user
28:44
tumbleweed workflow working on that one in addition the Please so this is Torsten Duwe here. Can we have a round of applause for him, please? Looks like a notebook behaves like a notebook
29:02
This is it and as you can see it is running Linux I just updated the regular way to from 15 0 to 15 1 it's running a custom kernel Although I'm currently in the process of pushing the final patch series upstream
29:20
but otherwise, it's an upstream 5.2 kernel and regular arm 64 Opens as a leap 15 1 running there. I would assume that in 15.1 probably the network drivers or something it would be lacking or what you need the custom kernel for
29:43
It's only the EDP bridge for the internal display. I mean if you read kernel the kernel mailing list It's that serious that because I'm currently discussing and that's the final thing for for growth support a Bluetooth and HDMI have minor issues. Otherwise, it should be fully supported right now
30:06
Whichever if people you can keep it there and people look at look at it afterwards. I don't care And if you're interested to find Torsten after the talk He may be able to share some experiences in case maybe you have a slightly different variant of a device that you would want to
30:23
Make them open as a one-on-one We've been running the pine 64 for quite a long time already Now also the banana pi a 64 has been getting some testing and packaging Same chipset that is and then for the all winner h6 SoC and the pine h64 has started slowly to work
30:43
So since d 5.0 kernel, I think also the network on that one is working However, I've noticed that Despite having a Raspberry Pi compatible connector There are some limitations compared to the pine 64 in that not all pins can actually be used
31:00
With the other connectors on the board at the same time in particular you are underneath the net. I'm aware of Okay NXP core IQ there has been a Freedom LS 10 20 a 10. Sorry LS 10 12 a board
31:20
with rather limited resources That we've been having difficulties actually getting open scissor to run on Then there was a new freeway board with some additional connectors and connection possibilities for example connector to connect this in theory at least
31:40
Unfortunately Hubert for that is not upstream and it's been I've not been able to modify the Hubert environment to actually circumvent that So it really needs to me to stop the boot on the burst and manually Type or and paste in commands in order to boot into our kernel, but so far it's been working Unfortunately, the upstreaming of that was never completed by NXP
32:03
so the whole network complex is working which impacts the use of the um Huard connections that are behind a spy bridge on that microbus connector So unfortunately again, it can be used from maybe able to use for spy but not for you out
32:22
So, yeah, I'm your mileage may bury as they say The new kid on the block is the NXP. I'm x8m chipset so to Community ish boards have surfaced for that one is the pick up I The other one is the coral board from Google
32:41
On those boards NXP has been shipping a slightly outdated version of you boot It does already have the support for booting EFI It's not being used via the distribute setup, unfortunately So it is possible to manually interrupt the boot and run those commands however, then grub will not find its config because the you boot still has some bugs because it's
33:06
not current and Yeah, apparently no one has been working on those new boards here to make sure that an upstream bootloader is available that would fix those particular problems I
33:21
had Started the upstreaming for an action semiconductor boards in particular the bubble gum 96 board as well as a few others mentioned here I've been getting some help making progress with the drivers. Unfortunately, those activities have ceased for the moment So we're still on how like an SD card driver that we could really load a rootFS from
33:45
There is a huge available but be aware that for one of those boards But be aware that it does not have the full set of drivers. So it's not really that useful yet But if you're interested in it There is now a Linux actions a mailing list on infrared that you can join if you're interested in those particular
34:05
chipsets Similar with realtek Unfortunately, there have been some problems with the interrupt controller for quite a long time and time issues on my side So there is not much progress on that Some people have showed interest To help out with that topic and there is a Linux realtek sock mailing list
34:24
Also on infrared and that can be used to coordinate efforts between volunteers Nvidia has with much fanfare Introduced a new Jetson board Unfortunately, it is what what not unfortunately in fact is that it is using like the an older generation of the tiger trip the x1 we had already successfully tested the
34:47
trusted firmware and you boot For that particular chipset. So hopefully that should be fine. If anyone has one and can provide feedback that would be appreciated Looking at certain people in the front here
35:05
And yeah I've made the experience for the so the x1 generation and things have been working Okay with flashing things onto those boards for me But since upgrading to leap 15.0 and I've been unable to actually get anything onto the x2 board
35:21
So that remains to be retested with 15.1 and Similar story with rockchip. So there are some new boards that have surfaced and we've also prepared packages and for those Unfortunately, I've not been able to test them because similarly the USB flashing tool for that one is broken in current
35:43
15.0 and needs to be tested whether Anyone has come up with any fixes or work around for that one Finally Since I've spoken about arm so much not been able to you know, speak much about other architectures We've not been seeing much presentations here about risk 5
36:01
So I've taken the opportunity to say a few words about that one as well. So for one If you have QM your packages installed on open zoos on whatever system you have you can emulate a risk 5 system There are now you would packages available that can be used with that You would packages are now also available for the currently single available
36:25
hardware Linux compatible board forest 5 the high five unleashed Unfortunately, either way Grub support for risk 5 is still missing at least in our package possibly also upstream
36:40
so yeah, some things still need to happen to have a Easy user experience there, but it's already used and possible to use it. Andrea Schwab has been spending a lot of time working on this and You probably already know that for the arm architecture You can find all the various packages in the open zoos a factory arm
37:02
Project and similarly there is an open zoos a factory risk 5 project that is building for this new architecture That is it We do still have Roughly five minutes for questions Anything about Laura or arm boards and hardware attachment in general?
37:33
I Call any updates that you may want to share for rock chip. No
37:44
Yeah in the back Please go ahead. Is it possible to Swap disable the Bluetooth on the Raspberry Pi 3 and use the hardware you are instead from an open scissor image yet Not on the regular Raspberry Pi so
38:06
The Pins of The what is being used for the bluetooth? You art are not being exposed on the board in any way that I know of being able to at least easily access them So you have only one you are that is being exposed there and via a DT overlay
38:25
You can switch whether that is the TTY s0 or the TTY ama0 If however you use the Raspberry Pi compute module with some baseboard that does not have Bluetooth chip sets on there Then you can actually use both and we've been
38:42
Matias over here has been working on a device tree overlay that can be used to Enable that second you art because apparently that is not being done by default. Oh yes, so
39:01
We've been working with a company called embedded micro technology in the UK. They have a baseboard called my pie That you can you know unplug this dim shaped Compute module into and then have like pretty much the same or possibly even
39:21
Well about the the same on even more connectors than you would have on the Raspberry Pi in a rather well larger shape So that and then also has and their own expansion mechanism for having like Industrial grade I O with you know, like higher voltage levels than you would usually have on the pie
39:43
and Yeah That is one way to get around certain limitations of the Raspberry Pi, you know, three model BB plus ports Any further questions?
40:02
Okay, then. Thank you very much for your interest. Oh, yes, then what I had been standing here the board is two more things to show so I Was speaking about adapters from one type of expansion board to another for example, this one is
40:26
matching from the 96 boards where it was previously pretty difficult to attach anything because they have smaller and pitch of only two millimeters instead of the 0.1 inch and And
40:41
1.8 volt instead of 3.3 volts. So this goes from that particular output to Raspberry Pi and Arduino connectors It's still slightly difficult since this is an early adapter to make use of it So it needs some configuration and on the system to choose how the pins are actually going to be routed and since it has
41:07
FPGA on board it costs about as much as the cheapest 96 board Other adapters for going from Raspberry Pi to You know the smaller microbus
41:21
Connectors, that's probably around I don't know 15 20 euro and Depending on whether any additional chipsets are on such an adapter, you know The price will will vary and the size of it Of course the other thing I brought here is something that I already showed at the open zuza booth to foster them. This is
41:42
essentially a Raspberry Pi I actually opened that last time and showed the inside since I exchanged the Raspberry Pi and there to be 64-bit you can see, you know the connectors of that here on the outside that you may recognize And on top of the Raspberry Pi it then has like a custom designed
42:01
adapter to go to a particular LoRa module there and they've designed you know a Aluminium case around that and are basically selling that as a product and you will find that quite a lot if you look around that people are actually Taking the standard SPCs and then you know making some waterproof case
42:24
that is much larger possibly than the actual board around that and Selling that as you know gateway devices that are then put up on rooftops or somewhere on the wall