Make android device to be a print server - Android Q&A, Help & Troubleshooting

Dear all
I want to connect a usb printer to an android device like android tv box to share it through LAN. Does anybody know an application can make android device to be a print server, or how can i make andoid device to be a print server
Thanks

Have you managed to do anything. ?

+1

I guess there is still no solution to this. I have same setup with a TV-Box, but can't figure out how to share over the network. I tried Servers Ultimate and the LPD print server it has, but had no luck getting it to work. I think we would need CUPS built in to the kernel of our device ROM.
I hope someone comes up with a solution. Doesn't seem like a big challenge.
If only google Cloud Print could see the attached USB printer and make it accessible.

You can set up Linux chroot (I used Linux Deploy) to install a cups server and share printer over the network. I am using this solution for a long time and it does the job.

krzysiek.karolak1 said:
You can set up Linux chroot (I used Linux Deploy) to install a cups server and share printer over the network. I am using this solution for a long time and it does the job.
Click to expand...
Click to collapse
Do u have tutorial for this? thanks

I am also interested in this.

ket_92 said:
Do u have tutorial for this? thanks
Click to expand...
Click to collapse
It will take some time for you if you haven't used linux and if you do not have idea about how to execute any of the steps I mention below.
Follow these steps:
* Root your phone
* Install Linux Deploy from play store
* Select distribution as Ubuntu in Linux Deploy and install it (this will take time as it will download the linux image and install it)
* In the config options, select VNC or SSH (this is only to install the cups package)
* Login to the linux machine (running on your android phone) using SSH or VNC
* Install cups, cups-daemon packages (run command "sudo apt-get install cups cups-daemon")
* Start cups daemon: run command "sudo /etc/init.d/cups start"
* Install system-config-printer-gnome if using VNC (run command "sudo apt-get install system-config-printer-gnome")
* If using VNC, connect to the machine using a VNC client and run "sudo /usr/share/system-config-printer/system-config-printer.py". In the screen, add your printer and share it to be used over network
* If using SSH, connect to the machine and add your printer using lpadmin (this is a bit advanced, use VNC to avoid and set the printer easily)

Ok, if I set it like this, do I need to start that Linux after every reboot or it will work automatically? I would also like to use my Android TV box as a scanner server, cause I have HP MFP printer.

Thank you @krischat1001 for the steps.
I'm trying to make my printer working with this method (Brother DCP-165C connected to Khadas VIM2)
The Linux Deploy is running well with CUPS installed. The printer USB port was correctly identified (I think), I installed the cupswrapper official driver and selected it while adding the printer.
The problem is the printer never was triggered by CUPS, even while all the jobs are listed as done. I tried print a test page using CUPS and also print from another computer where the CUPS server was added.
What I can see in the printer screen is a fast message "Receiving data", for 100ms or so, on the exact moment I start a print job (this is the normal message shown while printing). But nothing is printed.
Is there any idea on whats going on?

fearbrain said:
Thank you @krischat1001 for the steps.
I'm trying to make my printer working with this method (Brother DCP-165C connected to Khadas VIM2)
The Linux Deploy is running well with CUPS installed. The printer USB port was correctly identified (I think), I installed the cupswrapper official driver and selected it while adding the printer.
The problem is the printer never was triggered by CUPS, even while all the jobs are listed as done. I tried print a test page using CUPS and also print from another computer where the CUPS server was added.
What I can see in the printer screen is a fast message "Receiving data", for 100ms or so, on the exact moment I start a print job (this is the normal message shown while printing). But nothing is printed.
Is there any idea on whats going on?
Click to expand...
Click to collapse
Hi,
Im planning to repurpose one of our old MXQ Pro Android TV Box into a C.U.P.S. print server soon.
I'm really interested whether you've managed to identify the root cause or fix for this issue.
I would first check whether firewall and whether port 631 is allowed in the local network; I would then also check whether C.U.P.S. listener is configured to any print service request in cupsd.conf.

Dshah79 said:
Hi,
Im planning to repurpose one of our old MXQ Pro Android TV Box into a C.U.P.S. print server soon.
I'm really interested whether you've managed to identify the root cause or fix for this issue.
I would first check whether firewall and whether port 631 is allowed in the local network; I would then also check whether C.U.P.S. listener is configured to any print service request in cupsd.conf.
Click to expand...
Click to collapse
It was a driver problem. I found the specific driver for my printer, and everything is working well now.
Good luck!

I am trying to do the same for an old android phone. Have installed Ubuntu using Linux deploy, installed Cups, Printer Config Gnome, as discussed in this forum.
Printer is Epson L130. Gutenprint supports it, a user post in their forum confirms it.
But nothing happens when I connect my phone to the printer using USB. Neither CUPS nor Printer GNOME detects a new printer.
I have tried 3 different rooted phones: Moto Atrix 2, Xiaomi Mi 3, Moto X Play with same result. I am using the stock kernel and Rom.
lsusb does not show my printer.
lsusb -t however shows the printer in one of the nodes.
Are you guys on a custom kernel/rom?
Any suggestion would be appreciated.

avisekjena said:
I am trying to do the same for an old android phone. Have installed Ubuntu using Linux deploy, installed Cups, Printer Config Gnome, as discussed in this forum.
Printer is Epson L130. Gutenprint supports it, a user post in their forum confirms it.
But nothing happens when I connect my phone to the printer using USB. Neither CUPS nor Printer GNOME detects a new printer.
I have tried 3 different rooted phones: Moto Atrix 2, Xiaomi Mi 3, Moto X Play with same result. I am using the stock kernel and Rom.
lsusb does not show my printer.
lsusb -t however shows the printer in one of the nodes.
Are you guys on a custom kernel/rom?
Any suggestion would be appreciated.
Click to expand...
Click to collapse
Hi,
are you able to connect Epson L130 with the android device as a print server. Please let me know, as I have also the same printer.

krischat1001 said:
It will take some time for you if you haven't used linux and if you do not have idea about how to execute any of the steps I mention below.
Follow these steps:
* Root your phone
* Install Linux Deploy from play store
* Select distribution as Ubuntu in Linux Deploy and install it (this will take time as it will download the linux image and install it)
* In the config options, select VNC or SSH (this is only to install the cups package)
* Login to the linux machine (running on your android phone) using SSH or VNC
* Install cups, cups-daemon packages (run command "sudo apt-get install cups cups-daemon")
* Start cups daemon: run command "sudo /etc/init.d/cups start"
* Install system-config-printer-gnome if using VNC (run command "sudo apt-get install system-config-printer-gnome")
* If using VNC, connect to the machine using a VNC client and run "sudo /usr/share/system-config-printer/system-config-printer.py". In the screen, add your printer and share it to be used over network
* If using SSH, connect to the machine and add your printer using lpadmin (this is a bit advanced, use VNC to avoid and set the printer easily)
Click to expand...
Click to collapse
How do I connect VNC viewer from a laptop? I'm of course in the same wifi network.

whats-in-a-name said:
How do I connect VNC viewer from a laptop? I'm of course in the same wifi network.
Click to expand...
Click to collapse
(I was trying from my browser, which didn't work) Now installed a vncviewer and was asked for credentails, so YES it works.

This is a confusing thread, but I just want to state that I can print from my Android phone to my old-but-networked HP Laserjet 2100tn printer without using an Internet print server and without installing or using Linux.
Newer Mopria-certified printers are even easier to set up to print from Android.
1. On Android, I installed an "lpd" print server which outputs PDF level 1.3
2. But my printer doesn't accept PDF - my printer wants PCL-5 instead
3. So I added a muPDF "faux printer driver" to "render" the PDF to a bitmap
This converts the PDF to a bitmap and then to PCL-5, which is then sent to the old networked printer via the Android "print server".
I gave up on CUPS though as nothing seemed to work with my Android-12/Windows-10 setup.

I have found a very simple solution.
1. Make a USB server using your android mobile connected to printer with the app "
VirtualHere USB Server"​2. Install the " VirtualHere client" in your windows/mac etc.
3. Connect the printer to your android mobile.
4. Run the server
5. In the windows , the client will detect the usb hub.
Now you are good to go.
Make sure that both server and client are connected over same network.

Related

Use PC internet connection on phone through USB!

USB tethering on froyo works if you need to use the phone's internet on PC. Sometimes, we just need to do it the other way around (lets say the PC doesn't have a wireless card, or we only have ad-hoc networks that are not discoverable without patching) and use our PC's net on android through USB.
Few people have done it using bridges. I did it using squid proxy server on ubuntu.
1.) Install squid and allow http access to all required clients.
2.) Connect the phone with usb tethering on.
3.) Ubuntu detects it as usb0. Now change the ip of usb0 from 'Automatic DHCP' to 'Shared to other computers'.
4.) Fire up the terminal emulator and enter the following.
#su
#netcfg usb0 dhcp
If all went well, you should now be able to connect to the internet.
Tried it and it's not working for me...
Or maybe i didn't setup squid right.
I'm not so good on ubuntu OS
I tried making a bridge connection on windows...the networks
The network seems to be connected but no internet connection...
Is it necessary to have Ubuntu OS?
Maybe some another how-to will help:
http://forum.xda-developers.com/showthread.php?t=793102
To setup squid to work:
type in:
sudo gedit /etc/squid/squid.conf
In that file find the section called
# ACCESS CONTROLS
Under the section find the line
#Recommended minimum configuration:
and add this line next to it
acl all src all
then find the section
# TAG: http_access
Under this section find the line
#Default:
and add the following line to look like
#Default:
http_access allow all
Close the file and restart squid as:
sudo start squid
That should setup squid to share your internet on all clients.
If required, reboot.
You can try out a similar approach on any other distro other than ubuntu.
i tried several searches about this topic, but none of them succeeded,
any update on this?
can i install ubuntu in my Win7?
syruz said:
can i install ubuntu in my Win7?
Click to expand...
Click to collapse
Well, you can virtualize it in Virtual box. It's free for personal use.
by the way what is the squid your talking about?
@ TS
maybe you can provide us with the link for ubuntu and squid?
Come on.. if you don't already know what ubuntu and squid are there's no point in trying this.
Ubuntu = Linux, that's another operating system. Squid is a proxy.
You ashould at least have the decency of Googling those for yourself..
Sent from my LG-P500 using XDA App
harshaxdadevelopers said:
USB tethering on froyo works if you need to use the phone's internet on PC. Sometimes, we just need to do it the other way around (lets say the PC doesn't have a wireless card, or we only have ad-hoc networks that are not discoverable without patching) and use our PC's net on android through USB.
Few people have done it using bridges. I did it using squid proxy server on ubuntu.
1.) Install squid and allow http access to all required clients.
2.) Connect the phone with usb tethering on.
3.) Ubuntu detects it as usb0. Now change the ip of usb0 from 'Automatic DHCP' to 'Shared to other computers'.
4.) Fire up the terminal emulator and enter the following.
#su
#netcfg usb0 dhcp
If all went well, you should now be able to connect to the internet.
Click to expand...
Click to collapse
Hi guys,
Do you know why I wouldn't be able to see "USB tethering" option? No matter what I did so far, all I can see is the "Portable Wi-Fi hotspot" option and that works fine. But I need to use the USB Tethering!!!
Thanks for the help!
If someone is having the same problem as me (ie usb tethering mode not visible) just use a program called togglesettings lite. It can turn on the usb tethering for you. Now the reverse usb tethering works for me like a charm. Peace!
Sent from my LG-P500 using XDA App
harshaxdadevelopers said:
USB tethering on froyo works if you need to use the phone's internet on PC. Sometimes, we just need to do it the other way around (lets say the PC doesn't have a wireless card, or we only have ad-hoc networks that are not discoverable without patching) and use our PC's net on android through USB.
Few people have done it using bridges. I did it using squid proxy server on ubuntu.
1.) Install squid and allow http access to all required clients.
2.) Connect the phone with usb tethering on.
3.) Ubuntu detects it as usb0. Now change the ip of usb0 from 'Automatic DHCP' to 'Shared to other computers'.
4.) Fire up the terminal emulator and enter the following.
#su
#netcfg usb0 dhcp
If all went well, you should now be able to connect to the internet.
Click to expand...
Click to collapse
Thank you for sharing this trick. But i dont have netcfg utility, since i use ubuntu maverick 10.10, it is not in source list. is ther any other way to do "netcfg usb0 dhcp"?
This is by far the easiest solution I've found to reverse tether. Thanks!
jadeiceman said:
This is by far the easiest solution I've found to reverse tether. Thanks!
Click to expand...
Click to collapse
Sorry and wich is the solution ????
syruz said:
@ TS
maybe you can provide us with the link for ubuntu and squid?
Click to expand...
Click to collapse
sudo apt-get install squid
This should install squid.
netcfg is not there on recent ubuntu versions not even software list but you can configure via app indicator at right but still i can't use reverse tethering although i followed you pretty well.
netcfg is a utlility on the phone... u need to run that command at the terminal of the phone not on your computer. (get a terminal emulator from the market)
Wow I'm feeling stupid.Will give it a go now.

Best remote shell alternative to adb shell?

What's a good approach for getting a remote shell from Windows? adb shell just doesn't cut it, I tried it from the Win command prompt and from cygwin's mintty and there are all sorts of terminal problems, cursor keys not working, escape sequences not working, vi is a mess, etc.
So what's the proper way to set up a remote shell so that you get close to the Linux experience while connecting from Windows? E.g. sshd and connect via putty, busybox installed, etc. Any recommendations please before I go and try a bunch of things and make a mess? Thanks!
sirxdroid said:
What's a good approach for getting a remote shell from Windows? adb shell just doesn't cut it, I tried it from the Win command prompt and from cygwin's mintty and there are all sorts of terminal problems, cursor keys not working, escape sequences not working, vi is a mess, etc.
So what's the proper way to set up a remote shell so that you get close to the Linux experience while connecting from Windows? E.g. sshd and connect via putty, busybox installed, etc. Any recommendations please before I go and try a bunch of things and make a mess? Thanks!
Click to expand...
Click to collapse
SSH is a good alternative. You can then connect via PUTTY from your Windos machine. There's a small ssh server for embedded system called "dropbear", alto not fully functional (no scp/sftp support), it's easier to install than openssh. If you don't want to install it in the Android OS native, you can always download an app including it, there's a few of them.
Myself I'm using openssh, using my fully GNU Debian environment (see my signature). This solution also enables me to use X-windows for remote access to my Android. But I guess this is overkill for you. But still, very cool.
kuisma said:
SSH is a good alternative. You can then connect via PUTTY from your Windos machine. There's a small ssh server for embedded system called "dropbear", alto not fully functional (no scp/sftp support), it's easier to install than openssh. If you don't want to install it in the Android OS native, you can always download an app including it, there's a few of them.
Myself I'm using openssh, using my fully GNU Debian environment (see my signature). This solution also enables me to use X-windows for remote access to my Android. But I guess this is overkill for you. But still, very cool.
Click to expand...
Click to collapse
Thanks! Your link Run a complete GNU/Linux distribution on your Android is pretty cool!
I tried DropBear SSH Server II and SSHDroid and they seem to work well enough for what I need. Next step is to get sftp working which apparently it is possible with DropBear SSH Server II with a bit of manual work.

View/Control Android device from PC (without ROOT)

Hi all. What I need is a way to control Android device (s) from PC via Wi-Fi. I found a lot of apps (and Desktop programs) to do it, but I didn't found a way to View OR control the Android device WITHOUT ROOT. I work on the company which asked me to find a way to do this without root with their Android devices. After googling a lot I started to think that where is no way to do this, because either way I need to root them . Is it true or maybe there is somewhere an app which could do this? It doesn't care if it's paid or not.
I have downloaded and tester these apps:
MyMobiler - Doesn't work because when I restart Android device, app doesn't start WiFi, just keyboard mode only. I need that when the app starts it should run itself and start WiFi automatically.
VMLite VNC Server - Don't know why but it didn't worked for me. Just cannot start server from the browser.
Thank you for any responses and appreciate any help.
What error messages do you get from vmlite vnc server? Make sure you enable USB debugging. We have tens of thousands of users using our app, and your device should work.
Well, actually now I tried to launch VMLite VNC one more time and IT WORKED (don't know how, because earlier I tried it and I was unable to enter to VNC Viewer in the Browser). So yeah, in this case it works perfectly now, but I just realized, that I have no way of connected more Android devices. Because what I need to do is to connect multiple Android devices to computer with USB (as I understand it's required for the first time) and when use it with WiFi. For now I see that I only capable of connecting single Android device with desktop program and everytime I want to connect to Android deice from computer, I need to connect it via USB (where is no way to save Android devices to use it any time I want to via WiFi). Or am I wrong? And it is a problem because in my company all Android devices are far away from each other. Anyway, thank your for such an awesome app, I really don't know how it is capable of connecting to my Android device WITHOUT ROOT (because I found like 10 apps, read a lot of forums, and every solution was with ROOTED devices, I am very interseting of the actual app functionality), but thank you.
You can connect to multiple devices using multiple USB cables. There is a drop down list to display devices, and you choose one by one to start the server. Alternatively, you can write some scripts to auto start the vnc servers.
There are quite some testing companies using our app this way to automate regression tests.
Alternatively, you can write some scripts to auto start the vnc servers.
Click to expand...
Click to collapse
Can I get more information about it? Thank you.
Basically you can automate the starting process using adb command:
adb shell "am start -a android.intent.action.MAIN -n com.vmlite.vncserver/.MainActivity"
adb shell /data/data/com.vmlite.vncserver/files/vmlitevncserver
Deimantas007 said:
Can I get more information about it? Thank you.
Click to expand...
Click to collapse
Thank you for this script (it's very cool, I didn't know this kind of stuff before), but it requires USB connection as well.
I googled a few things and found this app - ADB Wireless (no-root) on Google Play Store. Basically it connects ADB via WiFi and I don't need no USB cable and connection with it. But VMLite Android App Controller program on my Desktop doesn't recognize it (it requires USB connection). Can I actually connect Android device with PC with this method or I am missing something and there is no way of doing it with this method? Thank you (I promise, this is the last question from me, no more dumb questions).
I don't think it will work for you. You mentioned your android device will reboot, right?
If your device gets rebooted, you will have to use a USB connection to a PC. the ADB wireless app has same requirement.
Steps to get it working: (from ADB Wireless app page)
1. Enable USB Debugging on your phone.
2. Connect your phone via usb cable to your PC.
3. Run adb tcpip 5555.
4. Run ADB Wireless (no root).
5. Connect to the IP address.
Deimantas007 said:
Thank you for this script (it's very cool, I didn't know this kind of stuff before), but it requires USB connection as well.
I googled a few things and found this app - ADB Wireless (no-root) on Google Play Store. Basically it connects ADB via WiFi and I don't need no USB cable and connection with it. But VMLite Android App Controller program on my Desktop doesn't recognize it (it requires USB connection). Can I actually connect Android device with PC with this method or I am missing something and there is no way of doing it with this method? Thank you (I promise, this is the last question from me, no more dumb questions).
Click to expand...
Click to collapse
huisinro said:
I don't think it will work for you. You mentioned your android device will reboot, right?
If your device gets rebooted, you will have to use a USB connection to a PC. the ADB wireless app has same requirement.
Steps to get it working: (from ADB Wireless app page)
1. Enable USB Debugging on your phone.
2. Connect your phone via usb cable to your PC.
3. Run adb tcpip 5555.
4. Run ADB Wireless (no root).
5. Connect to the IP address.
Click to expand...
Click to collapse
What's right. It needs to connect my phone via USB. But I thought that maybe there is a way to automate this process, I mean maybe there is a solution to TURN DEBUGGING MODE between phone and pc programs via WiFi connection (not USB) and communicate with VMLite VNC Server program on startup. Either way, again, thank you for your software (app). I will say to my boss that we need to stay where we are at the moment. It's just awesome to have an app which doesn't require ROOT.

SSHFS for Android Help setting up

Hi,
So I am trying to setup the below SSHFS app for Android on my phone:
https://play.google.com/store/apps/details?id=com.chaos9k.sshfsandroid
The dev has not responded to my emails and provides next to no instructions...
Here is what I have done on my own:
On my Pc:
1. Setup Cygwin SSH modules
2. Am able to connect via putty to my home PC through both my internal and external IPs (basically yes SSH server is working as a service on my PC and I can connect from my own network and off of it on another windows PC)
3. Port 22 is forwarded in my router
So prereq one to one this app of needing SSH server setup on home computer is met
Next up on my phone:
1. I am rooted on a Samsung Galaxy S4
2. Have Busy Box
3. Phone is 4.2 which the app experimentally supports
4. I have FUSE module support on my phone
So I believe from the above my phone meets the prereqs to mount SSHFS shares.
On to the app itself:
To setup a share I have specified the following:
1.Name : has no bearing just for user ease
2.Host: using my external IP
3.Remote Path: Have tried all sorts of paths to files on my PC (including just basic /\ and blanks)
4.Mount Point:\mnt\SSH (have confirmed this works as previously it would not accept my mount point. This folder is mounted and the app can see it)
5. Automount (checked)
7. User name and Passwords...used the same ones I used in putty to connect to my server
So with all of the above I keep getting the below error:
/SH:<stdin>[1]:readlink:not found:No such file or directory.
I believe the above error is because I am not properly inputting my remote path I would like to mount....I ideally would like to mount my entire D drive....but for the sake of getting this started I would like to be able to mount anything just to prove it works.
Like I mentioned I can use a laptop on a different WIFI network to connect to my SSH server and browse files...so in theory this should work...If anyone can help me sort out the proper remote path syntax I would really appreciate the help.

Can't see USB devices, linux deploy

Hi All, I've got a Samsung Galaxy Grand Prime (SM-G530W) running Cyanogenmod 12. I put linux deploy on, with a debian arm64 stable release. Everything seems to be working, I can ssh and VNC in, but I can't seem to see any USB devices.
In both an ADB shell session, and through ssh into the debian install, lsusb doesn't return any devices. When I run ls /dev | grep usb from either place I get:
android_ssusbcon
mtp_usb
usb-ffs
usb_accessory
usb_ext_chg
usb_ncm
My ultimate goal is to be able to connect a 3d printer through debian, but I need to be able to see USB devices first. Any help would be greatly appreciated, perhaps there is a better forum to post this in?
Thanks, Ivan
Was a resolution found to this problem? I am seeking to connect a standard printer to my Samsung Galaxy s5 with a CUPS server and am seeing the same issue
Are you trying to connect the printer using an OTG adapter and USB host mode on your device?
Usually the permissions are the biggest problem to seeing things.
You could try my UsbMode.apk (in the sig) to see if you can see anything.
You might just use a print server on your WiFi network.

Categories

Resources