I know you can hook up your printer to the wireless router and connect and print from the Android device via HP ePrint software. But is there a way to simply connect a device directly to the printer via USB and start printing? If not, what is missing? Linux drivers? A general printing interface? (I don't know how any of this works, so I'm taking wild guesses.) Printer is an HP LaserJet 2840, by the way.
First of all, the device should have enabled the OTG in software and of course available as hardware. The other thing, that it misses is Drivers for sure. Maybe you could print out some photos from your phone, if there is an option to connect it as a PTP device directly to your printer, if your printer offers printing through PTP interface.