You can use WIC Reset Utility under Linux.
Download Linux versions here - http://www.2manuals.com/WIC/linux/
1. Differences between /dev/usb and /dev/bus/usb.
In the Linux system same devices may be presented on the different levels of the /dev directory, each of them using different drivers stack. For example inkjet printer can be accesed from the /dev/usb/lp0 and /dev/bus/usb/002/004, but in the first case it's actually a printer (line printer 0) and in the second - generic usb device. WIC Reset will work only in the first case, thus creating aliases from /dev/bus/usb to /dev will not help to solve any problems and can be potentially harmful.
2. Access rights. Read me!
By default access rights for /dev/usb/lp* are defined like this:
ls l /dev/usb
crw-rw---- root lp 180, 0 Oct 27 02:38 lp0
Thus only root and members of `lp` group can access the printer.
There several ways to deal with this problem.
2.1. Add user to the `lp` group.
The simplest way is to add current user to the `lp` group and then reboot:
sudo usermod -a -G lp $(id -n -u)
2.2. Change access rights for single printer.
Find our printer in /dev (for example, lp0) and then:
sudo chmod o+rw /dev/usb/lp0
2.3. Run application as root:
Running application using root account may be dangerous.
You can use su, sudo or gksudo from gksu package.
sudo apt-get install gksu
When sudo is used system will not change user directory which may cause some warnings. On the other hand gksudo will always use root directory. In both cases all files created by the application will belong to the root, and therefore will be inaccessible by regular users. Also when application started using sudo or gksudo in KDE, GTK is unable to properly initialize all necessary resources.
2.4. Edit udev rules:
You can change default access rights for the printer using device manager.
For more details read udev manual page and this article: Writing Udev Rules by Daniel Drake.
You can install WIC Reset either from console or using package manager.
3.1. Installation from console.
Install package using `dpkg` command from the directory, where package has been downloaded.
Fix missing dependencies using `apt-get`.
sudo dpkg i wicreset-i386.deb
sudo apt-get -f install
3.2. Installation from package manager.
3.3. Conflicts with App Armor.
Newest versions of the Ubuntu and its derivatives has App Armor rules enforcement enabled by default which may prevent WICReset from accessing printer's USB. If this is the case, please, configure App Armor to run application in the complain mode and relaunch wicreset:
sudo apt install apparmor-utils
sudo aa-complain /usr/bin/wicreset
Ubuntu 16.04 Xenial Xerus.
Debian 9.0 Stretch.
Mint 18.0 Sarah.
Derived distributions (Kubuntu, Xubuntu, Lubuntu, Edubuntu, etc.) should be supported as well.
Package Dependencies (dpkg-shlibdeps):
libc6 (>= 2.17)
libglib2.0-0 (>= 2.16.0)
libgcc1 (>= 1:3.0)
libstdc++6 (>= 5.2)
X11 & GTK+:
libgtk2.0-0 (>= 2.24.0)
libgdk-pixbuf2.0-0 (>= 2.22.0)
libcairo2 (>= 1.6.0)
libpango1.0-0 (>= 1.18.0)
libpangocairo-1.0-0 (>= 1.14.0)