Po skonstruowaniu kabla serialowego, udało się ustalić przyczynę cegiełki. Tak jak podejrzewałem, winna byłą literówka w pliku na overlayu (swoją drogą polecam poniższą metodę debugowania, zwłaszcza jeśli nie działają rzeczy związane z extrootem):
root@(none):~$ sh -x /sbin/mount_root 2>&1
+ . /tmp/preinit-hook-merge/50_determine_usb_root
/sbin/mount_root: /tmp/preinit-hook-merge/50_determine_usb_root: line 8: syntax error: unterminated quoted stringNatomiast co do problemu dlaczego przycisk reset/qss nie pozwala na przywrócenie wartości domyślnych, też znamy odpowiedź:
root@(none):/lib/modules/2.6.32.27$
Ces/2.6.32.27$ ls
k�ko ip_tables.ko sch_red.ko
act_mirred.ko ipt_ECN.ko sch_sfq.ko
act_police.ko ipt_LOG.ko sch_tbf.ko
aes_generic.ko ipt_MASQUERADE.ko sch_teql.ko
arc4.ko ipt_NETMAP.ko scsi_mod.ko
ath.ko ipt_REDIRECT.ko sd_mod.ko
ath9k.ko ipt_REJECT.ko sierra.ko
ath9k_common.ko ipt_SET.ko slhc.ko
ath9k_hw.ko ipt_bandwidth.ko ts_bm.ko
button-hotplug.ko ipt_ecn.ko ts_fsm.ko
cbc.ko ipt_set.ko ts_kmp.ko
cdc-acm.ko ipt_timerange.ko tun.ko
cfg80211.ko ipt_webmon.ko usb-storage.ko
cls_flow.ko ipt_weburl.ko usbcore.ko
cls_fw.ko iptable_filter.ko usbserial.ko
cls_route.ko iptable_mangle.ko vfat.ko
cls_tcindex.ko iptable_nat.ko x_tables.ko
cls_u32.ko iptable_raw.ko xt_CLASSIFY.ko
compat.ko leds-gpio.ko xt_CONNMARK.ko
crc-ccitt.ko ledtrig-usbdev.ko xt_DSCP.ko
crc16.ko mac80211.ko xt_HL.ko
deflate.ko mbcache.ko xt_IMQ.ko
ecb.ko nf_conntrack.ko xt_MARK.ko
ehci-hcd.ko nf_conntrack_ftp.ko xt_NOTRACK.ko
em_cmp.ko nf_conntrack_ipv4.ko xt_TCPMSS.ko
em_meta.ko nf_conntrack_irc.ko xt_comment.ko
em_nbyte.ko nf_conntrack_tftp.ko xt_connbytes.ko
em_text.ko nf_defrag_ipv4.ko xt_connmark.ko
em_u32.ko nf_nat.ko xt_conntrack.ko
ext2.ko nf_nat_ftp.ko xt_dscp.ko
fat.ko nf_nat_irc.ko xt_helper.ko
gpio_buttons.ko nf_nat_tftp.ko xt_hl.ko
imq.ko nls_base.ko xt_iprange.ko
input-core.ko nls_cp437.ko xt_layer7.ko
input-polldev.ko nls_iso8859-1.ko xt_length.ko
ip_set.ko option.ko xt_limit.ko
ip_set_iphash.ko ppp_async.ko xt_mac.ko
ip_set_ipmap.ko ppp_generic.ko xt_mark.ko
ip_set_ipporthash.ko pppoe.ko xt_multiport.ko
ip_set_ipportiphash.ko pppox.ko xt_recent.ko
ip_set_ipportnethash.ko sch_dsmark.ko xt_state.ko
ip_set_iptree.ko sch_esfq.ko xt_statistic.ko
ip_set_iptreemap.ko sch_gred.ko xt_string.ko
ip_set_macipmap.ko sch_hfsc.ko xt_tcpmss.ko
ip_set_nethash.ko sch_htb.ko xt_tcpudp.ko
ip_set_portmap.ko sch_ingress.ko xt_time.ko
ip_set_setlist.ko sch_prio.ko
root@(none):/lib/preinit$ cat 05_enable*
05_enable*
���ɥ��с/lib/ar71xx.sh
preinit_enable_reset_button() {
insmod gpio-button-hotplug
}
boot_hook_add preinit_main preinit_enable_reset_button
root@(none):/lib/preinit$ lsmod
k�����ze Used by Not tainted
leds_gpio 1456 0 Wygląda na to że w romie Gargoyle 1.5.4 by Obsy brakuje modułu gpio-button-hotplug.ko. Po zresetowaniu do wartości fabrycznych mamy takie moduły:
root@Gargoyle:/$ lsmod |egrep 'button|gpio|hotplug'
k��}���ѽ�
input_polldev 1360 1 gpio_buttons
input_core 17056 3 gpio_buttons,input_polldev
leds_gpio 1456 0 Przyczyną zatem nie był uszkodzony rom a brak modułu odpowiedzialnego za obsługę przycisku.