My seventh day with Haiku: listing, scanning, network







TL; DR : The printout looks like hi from the 90s, Windows 3.x calls its printers back. Scanning is amazingly “just working,” at least with a USB connection. 3D printing in development. Network support evokes mixed feelings. Smartphones have not yet earned me. USB serial devices generally work.







I recently discovered Haiku, an unexpectedly good system. Today I’m interested to find out how it provides hardware support, especially in the areas of printing, scanning, 3D printing, network equipment, smartphones, devices with serial USB ports, for example Arduino. There is only one way to find out - take it and try it! Let the picking holiday begin!







Printout



HP Network MFP



On a Mac, an HP LaserJet Pro 200 color MFP connected to a local area network just appeared as an affordable printer without any intervention from me. Even in the latest versions of Ubuntu, the printer was recognized automatically. I can boot from LiveISO and the printer will appear in the print dialogs without any action. Thanks to IPPEverywhere, there is no need to install drivers.







On Haiku? First surprise: the default WebPositive browser doesn’t even give a Print command. But StyledEdit - yes. When I press Alt + P in it, a window pops up with the default printer setting.

I agree, of course. The list of printers that appears displays "Preview" and "Save as PDF", but my HP LaserJet Pro 200 color MFP with all its magic Zeroconf and IPPEverywhere is invisible.









I would like the HP LaserJet Pro 200 color MFP to “appear here” just as it did on other modern operating systems, including Linux.







So I click "Add ..."









One has to be a master magician of a listing in order to understand this. I chose "IPP".







Next: it does not recognize my printer. At that moment, I seemed to be back on Windows 3.x. It would ask to rearrange the floppy disk.









There is no HP LaserJet Pro 200 color MFP







Cannot find "HP LaserJet Pro"? Too new? It is unlikely that the device will be at least 5 years old. Well, then I’ll choose a similar "HP Color LaserJet CM2320 MFP".







In anticipation, I return to StyledEdit, press Alt + P. What is it? Joke?









A dialog box asks me for a "URL". Well, you know, you never know.







I’m going to the terminal, but only to find out that the fail-safe avahi-browse



command, a real Swiss knife that allows you to find out the correspondence of ip addresses to devices, is missing, and even command-not-found



does not know where to find it. Googling, I find a blog post where someone reports that "I'm currently working on a services browser, everything is almost done." A search in HaikuPorts yields only the qmdnsengine



library. I can not find a program using the specified library. Then I gave up, because in the end, printing is not so important for me.







Quick solution: embed mDNS \ Zeroconf deep into the system and use something like CUPS for printing (after all, Apple uses it).


Scanning



CanoScan LiDE 60 USB



Expecting the worst, I take out and blow dust off my ancient CanoScan LiDE 60 USB flatbed scanner. Since the advent of smartphones with multi-pixel cameras, there is no special need for it anymore. I connect it to the Haiku computer via USB, run the Sanity



application for scanning and, to my surprise, I see such a greeting after a couple of seconds:









CanoScan LiDE 60 successfully scans in Haiku







HP Network MFP



Nope, the Sanity



program does not see the scanner built into the MFP. I think the Mac will recognize it and automatically configure it using Zeroconf ("Bonjour"), one of my favorite technologies that just work all the time. Haiku was not able to. See the "Printout" section above.







3D printing



Layer slicing programs



There are still no GUI programs for slicing layers. But since the last publication there is a working CLI program. Thank you, Gerasim Troeglazov, a great start, but without a GUI - it's cool.







@probonopd, asking about #CureEngine for haikuOS ? Everything works great. I’ll add it to HaikuPorts soon.



Printer controller



Printer controller - an entity for sending data to a 3D printer through a serial port. It is integrated in the Ultimaker Cura and PrusaSlicer slicing programs. What of this is for Haiku? I saw Atelier in the screenshot above. I suppose this issue has been resolved.







Sender



Sender - an entity for sending data to a 3D network printer or printer controller via a wired or wireless network. In the programs Ultimaker Cura and PrusaSlicer it is built-in.







Work with smartphones



Android smartphones use Media Transfer Protocol (MTP) and / or Picture Transfer Protocol (PTP) when connecting to a computer. I found PhotoGrabber in HaikuDepot for downloading and deleting images from digital cameras connected via USB via PTP. At first she did not work with my smartphone. And then I found out that I need to manually switch to the PTP plug-in.













Quick fix: enable all plugins by default at the same time.

However, it still could not be used, the program showed part of the images from the device, and then stumbled.







 bdcpPTP - Transaction: Session 1, Transaction 3c5, Code: 100a. bdcpPTP - GetData: Expected data container, received 0003.
      
      





I could only hope that she would not delete all my photos from the device.







The right solution: mount PTP and other similar devices like volumes.

iPhone and iPad use (of course) something of their own, according to this forum post, they (so far) do not work with Haiku.

However, you should not blame Haiku for this: on Linux, if you take the old iOS and a fairly fresh distribution, there is a chance that it will work ... and then the cat and mouse will start again. That's exactly what I don't like about Apple products, thanks to her.







Networks



Integrated Ethernet Network Card



Works on all my machines







Axis USB Ethernet Network Card



It is supposed to work, but not for me.







Intel Embedded Wireless Card



It works for me.







Broadcom Integrated Wireless Card (Mac)



It is known that does not work (yet?). [this manufacturer also has a present on Linux ... - approx. translator]







USB Serial Devices



Many devices contain, as far as I know, the bridge is a serial interface - USB [COM port accessible via USB - approx. translator] . Examples of such devices are various devices, including 3D printers and Arduino boards.







The most commonly used bridge chips are CDC, Prolific, FTDI, and Silicon Labs. All are supported by Haiku:







 KERN: usb_serial: CDC ACM compatible device (0x2341/0x0036) added KERN: usb_serial: PL2303 Serial adapter (ATEN/IOGEAR UC232A) (0x067b/0x2303) added KERN: usb_serial: FTDI 8U232AM serial converter (0x0403/0x6001) added KERN: usb_serial: Silicon Labs CP210x USB UART converter (0x10c4/0xea60) added
      
      





However, I get a reproducible kernel panic, which has a workaround to fix it. 3D printer firmware works when using avrdude



(although I had to bypass a known error with missing dependencies). So libusb-based tools work.









3D printer firmware using avrdude program using USBASP programmer







Finding: Connecting removable media in read-only mode



Create read-only removable media



I like stateless, read-only systems. This is one of the reasons I use LiveISO for Linux, which after rebooting returns to its original state. How do I achieve the same result for Haiku?







I found these instructions for diskpart , obviously calculated on Windows:









According to this note , on Unix systems, you can use hdparm



to set the parameters of SATA \ IDE devices:









I wondered if you can do the same on Haiku.







Conclusion



Hardware support at Haiku is much better than I expected. Yes, in some places there are nuances, but after all, as you remember, the system is still not even version 1.0. The printout leaves much to be desired, but to be honest, to me it is not so important right now. I would like to have a deeper and more sophisticated integration of Zeroconf into the system, since it is one of those “magic” ingredients that “just work”.







My week with Haiku



That concludes the week with Haiku. The original idea was a simple test that dragged me on so much that I simply could not tear myself away from playing with him. Now I am wondering: can Haiku turn into the "Hello" OS I represented? Those. original Mac, open source only?









Can it become the original Mac, only in the form of open source?







I myself did not notice how I became a member: (left 3 applications and 10 applications in HaikuPorts ).







It seems to me that for an acceptable result, the team should focus and prioritize. As I personally would do:







  1. Repair remaining problems with loading and freezes (for example, work on XHCI)
  2. Perform web browser performance optimization
  3. Video acceleration (read: support for 4k video from youtube in a browser)
  4. 3D acceleration (read: TinkerCAD and Onshape support in browser)
  5. All the rest


The Haiku development team is very friendly and patient with a novice like me. Many thanks to them for answers to all my questions, for putting up with my experiments and sharing ideas.







But wait, there’s something else [there will be another translated article ... - approx. translator] .







Try it yourself! After all, the Haiku project provides daily download images from DVD or USB. To install, just download the image and write it to a USB flash drive using Etcher







Have a question? We invite you to the Russian-language telegram channel .







Bug Overview: How to shoot yourself in the foot in C and C ++. Haiku OS Recipe Collection







From the author of the translation: this is the seventh article in the Haiku series.







List of articles: First Second Third Fourth Fifth Sixth Seventh Eighth








All Articles