Future of IRDA computers on Linux

391 views
Skip to first unread message

bogu...@gmail.com

unread,
Aug 5, 2018, 5:16:50 PM8/5/18
to Subsurface Divelog
I've just discovered that Linux has dropped IRDA support from the 4.17 kernel series.

This means there will be no support for IRDA linked computers, unless subsurface provides its own IRDA stack - assuming the USB IRDA dongles would work using libusb, which is far from certain

Is there any plan in the subsurface community for IRDA on Linux, or do I need to preserve a 4.16 kernel in a virtual machine to keep my IRDA computer (subsurface xp-10) working?

Many thanks

--David

Anton Lundin

unread,
Aug 6, 2018, 5:51:22 PM8/6/18
to Subsurface Divelog
There was a quick thread on the dev list about it, and a simple way of implementing the neccecery subset of IRDA to get those devices working, but I don't think anyone is working on it, or even planing to do so.

//Anton

Charles H

unread,
Aug 7, 2018, 8:16:00 AM8/7/18
to Subsurface Divelog
Yes, it looks like the stalwarts who worked on this have not only stopped - maybe as far back as 2006 - but have left their jobs and so the links to any possible updates have evaporated too.  I have not been able to get any joy with my Uwatec USB dongle, even though it is one of the best-supported chip-types: Ubuntu befuddled beaver doesn't want to know, and although I am sure I could adapt some of the code that is out there to make it work if I had the knowledge and skill, I have to admit that I am not in that happy position.I also tried the previous release, but even less joy there. 
   Sorry,
     Charles.

bogus4711

unread,
Aug 7, 2018, 9:14:52 AM8/7/18
to subsurfac...@googlegroups.com
Charles

Bionic beaver uses the 4.15 kernel, which still has IRDA in the source code. 
(Whether Ubuntu have enabled it is another question)

Quick check - have you installed the irda-utils package? This contains a
program called irattach, which is needed to connect IRDA dongle to the 
higher level IRDA code

If you are able to access a command shell, plug in your dongle and:
- run lsusb 
  to see if the device is present at the USB level

- run lsmod | fgrep ir 
  you want to see irda-usb and irda-core. You do NOT want to see ir-usb

- run dmesg | tail -40
  you want to see irda messages referring to irda0

- (as root) run irattach irda0 -s

After that try subsurface again

--David


--
You received this message because you are subscribed to the Google Groups "Subsurface Divelog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to subsurface-dive...@googlegroups.com.
To post to this group, send email to subsurfac...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/subsurface-divelog/ed5e8a89-4dc4-4ca3-acb3-05b788647b33%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Linus Torvalds

unread,
Aug 7, 2018, 12:02:42 PM8/7/18
to Subsurface Divelog, bogu...@gmail.com
On Tue, Aug 7, 2018 at 6:14 AM bogus4711 <bogu...@gmail.com> wrote:
>
> Bionic beaver uses the 4.15 kernel, which still has IRDA in the source code.
> (Whether Ubuntu have enabled it is another question)

The reason the IRDA code got removed from the kernel is that it so
often doesn't work, and there was absolutely nobody around to try to
fix it or even understand it ;(

In fact, occasionally when it didn't work, it quite often
_spectacularly_ didn't work. As in "there was a kernel oops".

Yes, it worked for some people (as it has apparently has worked for
you), but it was pretty unlikely.

End result: I was really hoping that somebody who cares ends up
implementing the subset of the IRDA stack as just a serial protocol
that we could do in user space. Because the kernel side had clearly
bitrotted to the point where it was dangerous.

Linus

bogus4711

unread,
Aug 7, 2018, 12:20:58 PM8/7/18
to Linus Torvalds, Subsurface Divelog
Quite understand the lack of maintainers. I suspect that dive computers and some fitness devices may be the remaining users of IRDA. Light is just a good way to cross watertight boundaries.

I shall have a look at the protocol and the subsurface code to see how much of IRDA is still in use, and whether the timings would permit libusb to control the dongles and the rest in user space.

And yes, once I'd got rid of ir-usb, my two cheap chinese IRDA dongles have worked for three years and many kernel versions. Having to create a VM image just to read a dive computer will put people off :-)

Many thanks

-- David

Linus Torvalds

unread,
Aug 7, 2018, 1:12:51 PM8/7/18
to bogu...@gmail.com, Subsurface Divelog
On Tue, Aug 7, 2018 at 9:20 AM bogus4711 <bogu...@gmail.com> wrote:
>
> Quite understand the lack of maintainers. I suspect that dive computers and some fitness devices may be the remaining users of IRDA. Light is just a good way to cross watertight boundaries.

Fitness devices are such a big market that they don't have 20-year-old
technology any more. They fairly aggressively moved to BT and the BLE.

And unlike dive computers, people don't keep old fitness trackers
around, because the new ones are not only pretty cheap, they are much
more capable (ie GPS etc).

So the main uses of IRDA seem to be dive computers and "legacy
computing" (people still playing around with Palm devices etc).

I think it's also used in some industrial environments because of how
it is electrically isolating and not impacted by noisy RF like most
other wireless things. Plus those industrial environments often like
having decades old ("tried and true") technology anyway.

One issue for subsurface is that neither OSX, Android nor iOS support
IRDA either, so it would be lovely to have user-space support for it
for those targets.

Win10 dropped IRDA too, but apparently there were enough people inside
MS that still had access to devices that it got resurrected a bit
later. Their IRDA stack was presumably in better shape than the Linux
one ever was.

> I shall have a look at the protocol and the subsurface code to see how much of IRDA is still in use, and whether the timings would permit libusb to control the dongles and the rest in user space.

Thanks.

Linus
Reply all
Reply to author
Forward
0 new messages