TPlink MR3020 V1 USB Print server

OPENWRTIANS, I am trying to make a printer server with this router but getting this error: any help would be appreciated.
BusyBox v1.23.2 (2016-01-02 18:01:44 CET) built-in shell (ash)


| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -| || | | || || |
|
_____|| |
||||___||| |____|
|
| W I R E L E S S F R E E D O M

CHAOS CALMER (15.05.1, r48532)

  • 1 1/2 oz Gin Shake with a glassful
  • 1/4 oz Triple Sec of broken ice and pour
  • 3/4 oz Lime Juice unstrained into a goblet.
  • 1 1/2 oz Orange Juice
  • 1 tsp. Grenadine Syrup

root@OpenWrt:~# opkg update
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/pac kages/base/Packages.gz.
wget: can't execute 'openssl': No such file or directory
wget: error getting response: Connection reset by peer
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/pac kages/base/Packages.sig.
wget: can't execute 'openssl': No such file or directory
wget: error getting response: Connection reset by peer
Signature check failed.
Remove wrong Signature file.
wget returned 1

While the MR3020 is not supported (or even supportable) in current versions, you don't have to go quite that far back. It had support until at 17.01, at least with pre-built images.

The downloads server is redirecting to archive.openwrt.org, "silently" upgrading the connection to https in the process:

* Connected to downloads.openwrt.org (151.101.2.132) port 80
> GET /chaos_calmer/15.05.1/ar71xx/generic/packages/base/Packages.gz HTTP/1.1
(...)
< HTTP/1.1 301 Moved Permanently
< Location: https://archive.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/base/Packages.gz

wget in 15.05 does not seem to support https.

I believe you can edit /etc/opkg/distfeeds.conf, replacing downloads.openwrt.org with archive.openwrt.org in the URIs. The archive server itself does not require SSL.

Failing that you can also download the individual packages, transfer them to the router (into /tmp), and install them, one by one. Yes, that's more tedious, but a viable option for an initial test configuration. With 4 MB of flash memory you're probably looking at a custom-built image rather soon anyway.

1 Like

Dear @takimata. Thank you so much for your response.
the intent of using the older version was, it might be light weight and can be used effectively for this use case.
Do you advise to upgrade it to 17.1 version to make it work seamlessly? if yes how to go about it, I am afraid I am a newbie if you be kind enough to hold my hand?
where can i find a custom image that can do this job?

Use case : Internet >>>Main Router >>> Openwrt router(client Mode)( Printer attached) Print capability over wifi

The version probably doesn't make a huge difference in your case, your device is outdated anyway and relegated to do uncritical (as far as network security is considered) tasks.

That being said, the jump from 15.05 to 17.01 probably doesn't make a huge difference either, neither in performance nor in space availability.

Try a regular, official download first.

Also I've actually never tried to get a printer server running on a 4/32 (flash/RAM respectively) device, so I can't hold your hand. https://openwrt.org/docs/guide-user/services/print_server/p910ndprinterserver seems relevant and suitable as a how-to.

I’ve done exactly this using the same device and 18.06 (along with the image builder and p910nd and Avahi). If you omit LuCI, there is plenty of room (relatively speaking), with LuCI it just barely fits.

I’ll see if I can find my recipe.

Keep in mind that this should only be used on a trusted network, ideally wired and with WiFi disabled, due to the very serious security concerns with such an old/eol version of OpenWrt.

Here is my recipe:

make image PROFILE=tl-mr3020-v1 PACKAGES="-ppp -ppp-mod-pppoe -ip6tables -odhcp6c -odhcpd -kmod-ipv6 -kmod-ip6tables -iptables -firewall -opkg p910nd kmod-usb-printer avahi-daemon uhttpd uhttpd-mod-ubus libiwinfo-lua luci-base luci-mod-admin-full luci-theme-bootstrap luci-app-p910nd"

More info in the full thread:

Dear @psherman Thank you for your kind attention!

Apparently, I guess wifi is required else the purpose of wireless printing will be defeated. Pls correct me I am wrong anywhere!
Secondly - The recipe that you've shared, do i have to build a new image all over again or removing those packages other than listed in the recipe would do the job?

I guess, although I cannot guarantee, client mode may be okay.

Yes. Removing packages from a standard image actually consumes space because it has to write files to mark packages as deleted (it cannot actually delete packages stored in ROM). Download the image builder for the ar71xx devices and build the image with the recipe provided.

Dear @psherman.

Pls allow me to ask a favor?
since you've used the same recipe with the same device. Would you be kind enough in sharing that bin file with me that would really make my life easy. I can upgrade my router according ly.
Many thanks.

Here it is:

https://www.dropbox.com/scl/fi/yurne6sn9rt1pp87gvzm7/openwrt-18.06.9-p910nd-luci-avahi-ar71xx-tiny-tl-mr3020-v1-squashfs-sysupgrade.bin?rlkey=c8zv7j8e861pdj6w1xx4pi5m1&dl=0

@psherman Much appreciated.

Quick question: I am on 15.5 can I upgrade it directly with the bin file you shared or do I have to go incrementally upgrade all the versions?

Direct upgrade should be fine, but do not keep settings.

Thank you for the direction!
The printer is detected in shell but for some reason unable to take a printout. am I doing something wrong?
Printer: Canon LBP2900
Steps tried:
1.enabled & Disabled bidirectional
2.Re-installed the printer and client
3. No firewall rule, tried to create as per the guide but was unable to may be fw is not installed.
4. Router - client Mode ( Wireless enabled) Joined to the main router. Ping working, name resolution working.

You will need to manually add the printer to Windows (or other desktop OS) using the IP and port number on the LAN. It should then be detected and Windows will prompt to install a driver. If the printer is new enough the driver may be auto-selected.

If printer firmware is required you have to extract one from some desktop linux.

Done that already, with no luck.
Printer error : The port to which the printer is connected is not supported.

how to go about it? Kindly explain.

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall
<
        "kernel": "4.9.243",
        "hostname": "OpenWrt",
        "system": "Atheros AR9330 rev 1",
        "model": "TP-Link TL-MR3020 v1",
        "board_name": "tl-mr3020",
        "release": {
                "distribution": "OpenWrt",
                "version": "18.06.9",
                "revision": "r8077-7cbbab7246",
                "target": "ar71xx\/tiny",
                "description": "OpenWrt 18.06.9 r8077-7cbbab7246"
        }
>----------------------------------------------------------------------------------------------
Network
<config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd17:9194:8a41::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.2.1'

config interface 'wwan'
        option proto 'dhcp'
>------------------------------------------------------------------------------------------------
wireless
config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11g'
        option path 'platform/ar933x_wmac'
        option htmode 'HT20'
        option legacy_rates '1'
        option disabled '0'
        option channel '6'
        option country 'IN'

config wifi-iface
        option ssid 'xxxxx'
        option encryption 'psk2'
        option device 'radio0'
        option mode 'sta'
        option bssid 'xxxxxxxxx'
        option key 'xxxxxxx'
        option network 'lan wwan'
>-----------------------------------------------------------------------------------------
dhcp
config dnsmasq
        option domainneeded '1'
        option boguspriv '1'
        option filterwin2k '0'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option nonegcache '0'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'
        option nonwildcard '1'
        option localservice '1'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv6 'server'
        option ra 'server'
        option ra_management '1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'
---------------------------------------------------------------------------------------------------
firewall
cat: can't open '/etc/config/firewall': No such file or directory




You dont have much choice, worth checking if other postmarket firmware does printing part (revert to OEM, do their initial installation, if OpenWRT is needed revert again to OEM and install again OpenWRT 17)
https://dd-wrt.com/support/router-database/?model=MR3020_1.x