Installing a Canon Printer on XUbuntu 18.04

Now that I have Aseba Studio working, I tried to get connected to my Canon Wi-Fi printer, and it is once again quite difficult. Is there something rotten in Ubuntu’s world?

Let us start by the beginning, and describe my printer’s configuration: it is a Canon Pixma MG4250, connected by Wi-Fi to my Freebox Revolution. It is detected by system-config-printer, which by default chose automatically the corresponding driver, by failled at last step to define the new printer and returned cups-error-internal-error. My first reaction was of course to check the Web for others having a similar problem, and the way they solved it if any did, but I did not find anything relevant.

I then tried something else: instead of choosing the automatically detected printer, I gave the URI found on XUbuntu 16.04, which is cnijnet:/ followed by (what I think to be) the MAC address of the printer. I then had to choose a driver (where system-config-printer automatically did it in previous method), but adding the printer still failled at last step, this time with cups-error-not-possible.

At last, I applied the method which worked on XUbuntu 16.04, which is to use Canon driver. I chose the Debian archive from their page, and tried to install it. However, it needed three packages (libpango1.0, libpng12 and libtiff14) while only the first is still available on 18.04 (the two others are obsolete). A web search indicated that older packages can be used, I thus got those of the previous LTS (xenius) on the Ubuntu archive site (but the last one, libtiff14, needs a direct access to tiff directory of the French archive site, as the library is not referenced, only its dev part). Once those package are saved and installed (with a sudo dpkg -i ...), Canon’s installation script works fine, and adds the printer. Everything now works fine.

As I found abnormal the two errors sent by system-config-printer, I filled a bug report on launchpad.

Missing Aseba Studio on Ubuntu 18.04

I am using Aseba Studio as development tool for the Thymios (personal French page | official English one) in several courses at master level.  I longed for Ubuntu 18.04 to come out, in order to replace this (%§$*!) buggy Ubuntu 16.04, but the aseba package provided in Ubuntu 18.04 has also a bug (cf Launchpad): several executables are missing, including those I need (Aseba Studio).

As some of my future students may also need it, I decided to solve this bug by compiling the whole package from the sources available on github. It was not easy as the contained file indicating how to compile forgot several needed package, and github provided a master archive with some empty directories. I reported the problem, found out how to compile, and sum up everything in an archive (19.4 Mo, TarBzip file) containing the 3 github archives (1.6.9 master + dashel + enki), a building script and a read-me, which makes the compilation quite straightforward. Feel free to use and give your feedback.

Edit: Thymio seems now (in September 2019) to provide a valid package (with 1.6.1 version) for Ubuntu 18.04 on its page. I still wait for my students to verify whether this package does work.

Qt Graphical Objects and Multi-Threads

While working at the ROS-Qt control benchmark I am developing, I discovered why ROS-Qt’s create package used a signal to log messages on the Qt window: modifying Qt graphical objects from different threads can lead to serious problems (program abortion with segmentation violation, for example). I wrote a simple example showing the problem and how to solve it (I will use it in L3 course as well as in the M2 control course – these two links are to French pages, sorry).

Installer XUbuntu 18.04 sur un HP 14-cf0013nf

(I translated the previous article, as most of the pages on wich I added a reference to it were in French.)
Cette page est référencée par la liste des portable HP testés sous Ubuntu, et sur la liste des cartes Wi-Fi fonctionnant sous Ubuntu et celle des matériels bluetooth pris en charge

L’installation de ce portable comporte deux points techniques : la gestion de la carte carte combo wifi/bluetooth Realtek RTL8723DE, et la configuration de VMware pour utiliser le système Windows installé en dual-boot.

Activer le Wi-Fi et le bluetooth

Le portable HP 14-cf0013nf contient une carte mère Intel® Core™ i3-7020U avec une carte graphique HD Graphics 620. Les deux sont parfaitement reconnues par XUbuntu 18.04. Ce n’est cependant pas le cas pour la carte combo wifi/bluetooth Realtek RTL8723DE : elle a besoin de quelques manipulations pour fonctionner correctement !

J’ai trouvé deux solutions pour faire fonctionner le Wi-Fi (Network Manager ne montre à l’origine aucun réseau Wi-Fi, car le module du noyau ne gère pas correctement la carte RTL8723DE) :

  1. La solution la plus souvent recommandée (y compris par HP – en anglais) est d’utiliser la branche extended du dépôt GitHub rtlwifi_new de Larry Finger. Vous pouvez soit récupérer l’archive sur la page, soit utiliser git ou svn pour télécharger le code.
    Vous pouvez alors soit compiler et installer ce code (make; sudo make install), soit utiliser dkms pour le faire (sudo dkms add ./rtlwifi_new; sudo dkms install rtlwifi-new/0.6). La seconde solution est préférable, car le module devrait être automatiquement recompilé pour tout nouveau noyau (si j’ai bien compris). Vous aurez besoin d’installer le paquet build-essential, ainsi que dkms (en anglais) pour la seconde solution.
    Vous pouvez alors utiliser ce module avec sudo modprobe -v rtl8723de ant_sel=1, le dernier argument indiquant quelle antenne vous voulez utiliser (1 ou 2,testez les deux pour trouver celle qui fonctionne le mieux). Attention : cette solution n’est pas efficace pour mon portable, le signal Wi-Fi étant plus faible (entre 50 et 60 %) que sous Windows avec le même portable, ou sous Xubuntu avec d’autres.
  2. En cherchant un moyen d’avoir un meilleur signal, j’ai trouvé dans un des problèmes (en anglais) du dépôt de Larry Finger une référence à un module de smlinux, qui est plus récent.
    J’ai commencé par enlever l’autre module: sudo service NetworkManager stop; sudo rmmod -f rtl8723_common rtl8723de; sudo dkms uninstall rtlwifi-new/0.6; sudo dkms remove rtlwifi-new/0.6 --all; sudo service NetworkManager start.
    Comme ci-dessus, vous pouvez récupérer l’archive or télécharger le code, puis compiler et installer ce code (make; sudo make install) or utiliser dkms (sudo dkms add ./rtl8723de; sudo dkms install rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414). Une fois le module lancé (toujours avec sudo modprobe -v rtl8723de ant_sel=#), le signal Wi-Fi est bien meilleur (similaire à Windows ou à un autre portable)!

Pour les deux solutions, le Secure Boot doit être désactivé, ou le module n’est pas démarré (et vous n’avez de nouveau aucune connexion Wi-Fi dans Network Manager). Cela peut (c’était mon cas) changer l’ordre des Boot Loaders, mettant en premier celui de MS (qui démarre Windows) au lieu du grub (qui donne le choix). Il faut alors remettre le bon ordre dans les réglages du Bios.

Il est dommage qu’aucun de ces deux modules ne soit proposé d’une manière plus simple, comme le module de Dmitry Tunin (pointé dans la liste des portable HP testés sous Ubuntu) qui est disponible sous la forme d’un paquet : sudo add-apt-repository ppa:hanipouspilot/rtlwifi; sudo apt-get update; sudo apt-get install rtlwifi-new-dkms; echo "options rtl8723be fwlps=1 ips=0 ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723be.conf. C’est plus simple à installer, mais ce module ne concerne pas la carte RTL8723DE, mais la RTL8723BE et d’autres.

Faire fonctionner le bluetooth a été plus simple, grace à Dmitry Tunin ! Encore une fois, le module par défaut n’était pas le bon : blueman ne disposait d’aucun adaptateur. Une discussion effrayante (en anglais) se termine heureusement par une réponse rassurante : il suffit de quelques commandes (sudo add-apt-repository ppa:hanipouspilot/bluetooth; sudo apt update; sudo apt install btrtl-rtl8723de-dkms) pour faire fonctionner le bluetooth !

Configurer VMware pour utiliser le système du disque

Bientôt !

Installing XUbuntu 18.04 on a HP 14-cf0013nf

(Comme beaucoup de références à cet article sont sur des pages françaises, je l’ai traduit.)

The installation of this laptop has two technical points: finding modules to handle correctly the combo wifi/bluetooth card, and setting VMware to use the Windows system of the disk.

Getting Wi-Fi and Bluetooth

The HP 14-cf0013nf contains an Intel® Core™ i3-7020U motherboard with a HD Graphics 620 graphic card. Both are perfectly handled by XUbuntu 18.04. This is however not the case for the Realtek RTL8723DE wifi/bluetooth card: it needs a few manipulations to get it to work well!

I found two solutions to get the Wi-Fi working (the Network Manager originally did not show any Wi-Fi, as the kernel module did not handle correctly the RTL8723DE card) :

  1. The solution the more widely recommended (including by HP) is to use the extended branch of Larry Finger’s rtlwifi_new GitHub repository. You can either get the archive on the page, or use git or svn to download the code.
    You can either make and install this code (make; sudo make install), or use dkms to do it (sudo dkms add ./rtlwifi_new; sudo dkms install rtlwifi-new/0.6). The second solution is better, as the module should be automatically recompile for every new kernel (if I understood well). You will need to install build-essential package, as well as dkms for the second solution.
    You can then use the module with sudo modprobe -v rtl8723de ant_sel=1, last argument setting which antenna you want to use (either 1 or 2, check which one is the better). Beware: this solution is not efficient for my laptop, as the Wi-Fi signal is much weaker (between 50 and 60 %) than under Windows on the same laptop, or under Xubuntu on other laptops.
  2. Looking for a way to have a better signal, I found in one of the issues of Larry Finger’s repository a reference to smlinux’s module, which is newer.
    I first had to remove the other module: sudo service NetworkManager stop; sudo rmmod -f rtl8723_common rtl8723de; sudo dkms uninstall rtlwifi-new/0.6; sudo dkms remove rtlwifi-new/0.6 --all; sudo service NetworkManager start.
    Once again, you can get the archive or download the code, and make and install it (make; sudo make install) or use dkms (sudo dkms add ./rtl8723de; sudo dkms install rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414). Starting this module (still with sudo modprobe -v rtl8723de ant_sel=#), the Wi-Fi signal is much better (similar to Windows or other laptops)!

For both solution, secure boot has to be disabled, or the module is not activated (and you get once again no Wi-Fi connection in the Network Manager). This may (it did for me) change the boot order, giving priority to MS boot loader (which starts Windows) instead of grub (which gives you the choice). You then need to restore the correct order in the Bios settings.

It is too bad none of these modules were proposed in a simpler way, as Dmitry Tunin’s module (indicated in the French list of Ubuntu checks on HP laptops) which is available as a package: sudo add-apt-repository ppa:hanipouspilot/rtlwifi; sudo apt-get update; sudo apt-get install rtlwifi-new-dkms; echo "options rtl8723be fwlps=1 ips=0 ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723be.conf. This is an easier solution, but the module does not handle RTL8723DE, but instead RTL8723BE and others.

Getting the bluetooth was easier, thanks to Dmitry Tunin! Once again, the default module was not the good one: blueman did not have any adaptor. I found out a frightening discussion, but last post saved me: only a few commands are needed (sudo add-apt-repository ppa:hanipouspilot/bluetooth; sudo apt update; sudo apt install btrtl-rtl8723de-dkms) to solve all!

Setting VMware to use the disk system

Soon!

A Control Benchmark for the Turtlebot under ROS

François Charpillet and I supervised a Master 2 IPAC (replaced by AVR – French page) student in 2017. While we were pleased by the research aspects of this internship, the code needed to be rewritten to improve consistency and documentation. It is currently using both ROS and Qt 4, based on the code generated by the catkin_create_qt_pkg script of the ROS-Qt’s create package.

The Doxygen-generated documentation will be published as an INRIA technical report. Original controllers and an improved set of experiments will be presented in a future article. At last, the obtained benchmark will be used in a control course (French page) of Master 2 AVR.

Fête de la science 2017 : activités et démonstrations

Fête de la science 2017

Dans le cadre de la fête de la science 2017, j’ai proposé une présentation, un poster et des activités utilisant les Thymios II du département d’informatique de la faculté des sciences et technologies de l’université de Lorraine. Le Loria et L’Inria Nancy Grand-Est m’ont prêté quelques Thymios complémentaires, et j’ai été assisté par Amine Boumaza & Laurent Dupont (IUT Charlemagne & Loria) et Olivier Buffet & Alain Dutech (Inria & Loria).

Cette page vient en complément du poster, et présente :