Jump to content

Changing Source code and Building New Firmware


Recommended Posts

Hello People,

I have bought a new pineapple WiFi for testing new network config, and I initially had problems while compiling the firmware following the instructions instructions on


In the end I found that the resource "Hotplug2" it was searching on was invalid address. So I edited the make file in (~/MK5/package/hotplug2/MakeFile) as



and voila, the firmware was complied and built. The newly built firmware (using default config) when upgraded using

sysupgrade -n xxxx-sysupgrade.bin

the pineapple stops responding (only green light is active!). I have tried to mess around with menuconfig, hoping I would hit the right configuration, but am with no luck till now.

Can anyone please post the configuration that has to be set, to making a "Runnable" firmware.

Thank you!


Link to comment
Share on other sites

Hello Vamsi,

You know the pineapple comes ready to go right out of the box. Note the warning from the main wiki: "* The Build guide is for compiling a custom firmware image and NOT for setting up your pineapple for the first use." Is there a particular reason you're taking this route?

I have never built custom firmware for my Mk5, so I can't help with the configuration, but the instructions appear to be complete, although some commands are in the text and not the code sections.

Did you follow the unbricking instructions to get your pineapple back to a working state?

Link to comment
Share on other sites

Hey Fringes,

Yes I have unbricked pineapple to normal working state (Many times!).

As for "The Build guide is for compiling a custom firmware image and NOT for setting up your pineapple for the first use." I would like build custom firmware.
I have followed the instructions, but initially I had the "Hotplug2" problem which I resolved as mentioned above.
But now, Even know the custom software is being made (openwrt-ar71xx-generic-mk5-v1-squashfs-sysupgrade.bin and openwrt-ar71xx-generic-mk5-v1-squashfs-factory.bin are generated) after "make" command.
The firmware doesn't run when I upgrade the firmware on Pineapple WiFi using sysupgrade -n ./xxxxxxxx-sysupgrade.bin.
I have tried various configurations in "make menuconfig" which dint help. I thought someone here would know about correct config.
Link to comment
Share on other sites

Hi Vamsi,

Just because the LEDs don't come on, or the networking isn't configured, doesn't mean it didn't boot.

As the guide states, you really should be using a serial cable to do this, as otherwise you may not even get a shell on the device.

You might may to setup LEDs, SSH, passwords etc.

Best Regards,


Link to comment
Share on other sites

Hi Sebkinne,

I get that.. So we have the LED's code inside firmware which is not configured yet..

Do you know how it can be configured? As the the same is configured in the firmware given on the website.

BTW, the SSH functionality did work once, but dint work for later builds.. So I think SSH can be activated by default before building the firmware.. Can you help me configuring that?



Link to comment
Share on other sites

  • 2 weeks later...


I'm new to both openWRT and linux and am working on project in college. Could you please let me know how I can proceed next?

These are the executable files on bin folder in Pineapple WiFi with the factory image of firmware

ash date grep ls nice rbash touch
bash dd gunzip mkdir opkg rm true
busybox df gzip mknod pidof rmdir ubus
cat dmesg ipcalc.sh mktemp pineapple sed umount
chgrp echo kill mount ping sh uname
chmod egrep ln mv ping6 sleep vi
chown false lock netmsg ps sync zcat
cp fgrep login.sh netstat pwd tar
And in sbin folder
blkid ifstatus pivot_root syslogd
crda ifup poweroff sysupgrade
devstatus init reboot ubusd
fdisk insmod rmmod uci
firstboot klogd route udevtrigger
fw3 led.sh start-stop-daemon udhcpc
halt logread swaplabel vconfig
hotplug-call lsmod swapoff watchdog
hotplug2 mkswap swapon wget2nand
hwclock mount_root swconfig wifi
ifconfig mtd switch_root
ifdown netifd sysctl
and in etc/init.d we have
atd defconfig fstab rcS ubus
autossh dip_handler karma sshd uhttpd
blink dnsmasq led sysctl umount
boot done network sysntpd usb
cron firewall pineapple telnet watchdog
And after the custom firmware (built just by following the build guide and making above changes) is
I get this info before after clicking "n" in interactive mode of sysupgrade, because the ssh (nothing else for that matter) is not enabled.
ash cat dd ls mv sleep tar vi
busybox cp grep mount sh sync umount zcat
mtd pivot_root reboot
and there is no "init.d" folder.
After this, I unbrick the device to make it work.
Could you please let me what config should be used in "make menuconfig" for the firmware to work normally.
Link to comment
Share on other sites

  • 2 weeks later...

Hi Team,

I'm sorry about long (and kind off wrong) post.. after messing around the menuconfig, I was able to enable "AutoSSH" option and voila I was able to connect to router again.

The problem was that even though system was booting up (all systems working), as sebkinne insisted, but as the SSH server wasn't setup, I wasn't able to access it through that way.

And I also bought the serial cable, and I'm able to see all the logs here, which I think is wonderful!

I have one more question right now, when I build the custom firmware, I cannot find "pineapple" package, can you please tell me how can I enable in menuconfig or where we can I download the source code from.



Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...