Thread: Aura Help unbricking Aura
View Single Post
Old 08-26-2015, 05:13 PM   #7
mikeash
Member
mikeash began at the beginning.
 
Posts: 10
Karma: 10
Join Date: Aug 2015
Device: Kobo Aura
Interesting idea on the storage driver. That would probably be compiled into the kernel, right? Could it be that whatever differences exist between the H2O and the Aura are restricted to the kernel, and the updates somehow discriminate that way?

Yes, mount just shows the SD card, and stuff like proc and tmpfs. No sign of the internal storage anywhere in there or in /dev. I even tried making dev nodes for every block device listed in /proc/devices in case one of them might somehow be it, but no dice.

If I remove the SD card while the unit is on and then do `find /` it gives me a ton of errors like:

mmcblk0: error -110 sending read/write command, response 0x0, card status 0x0

On the other hand, some stuff seems to work. Hmm! I think some of it might just be cached files. But with the card ejected, the first 16kB of the device is still readable. I don't know what to make of that.

Code:
[root@(none) ~]# dd if=/dev/mmcblk0 bs=1|wc
mmcblk0: error -110 sending status comand
mmcblk0: error -110 sending read/write command, response 0x0, card status 0x0
end_request: I/O error, dev mmcblk0, sector 32
mmcblk0: error -110 sending status comand
mmcblk0: error -110 sending read/write command, response 0x0, card status 0x0
end_request: I/O error, dev mmcblk0, sector 33
mmcblk0: error -110 sending status comand
mmcblk0: error -110 sending read/write command, response 0x0, card status 0x0
end_request: I/O error, dev mmcblk0, sector 34
mmcblk0: error -110 sending status comand
mmcblk0: error -110 sending read/write command, response 0x0, card status 0x0
end_request: I/O error, dev mmcblk0, sector 35
mmcblk0: error -110 sending status comand
mmcblk0: error -110 sending read/write command, response 0x0, card status 0x0
end_request: I/O error, dev mmcblk0, sector 36
mmcblk0: error -110 sending status comand
mmcblk0: error -110 sending read/write command, response 0x0, card status 0x0
end_request: I/O error, dev mmcblk0, sector 37
mmcblk0: error -110 sending status comand
mmcblk0: error -110 sending read/write command, response 0x0, card status 0x0
end_request: I/O error, dev mmcblk0, sector 38
mmcblk0: error -110 sending status comand
mmcblk0: error -110 sending read/write command, response 0x0, card status 0x0
end_request: I/O error, dev mmcblk0, sector 39
Buffer I/O error on device mmcblk0, logical block 4
dd: /dev/mmcblk0: Input/output error
      113       413     16384
Maybe that's just some sort of caching too?

Running your script produces:

Code:
+ mmc_detect
+ local error=1
+ dirname /sys/bus/platform/drivers/arm-pmu/unbind
+ driver=/sys/bus/platform/drivers/arm-pmu
+ [ -e /sys/bus/platform/drivers/arm-pmu/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/busfreq/unbind
+ driver=/sys/bus/platform/drivers/busfreq
+ [ -e /sys/bus/platform/drivers/busfreq/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/fsl-ehci/unbind
+ driver=/sys/bus/platform/drivers/fsl-ehci
+ [ -e /sys/bus/platform/drivers/fsl-ehci/fsl-ehci.0//mmc_host/mmc0 ]
+ [ -e /sys/bus/platform/drivers/fsl-ehci/fsl-ehci.1//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/gpio-keys/unbind
+ driver=/sys/bus/platform/drivers/gpio-keys
+ [ -e /sys/bus/platform/drivers/gpio-keys/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/ltc3589-regulator/unbind
+ driver=/sys/bus/platform/drivers/ltc3589-regulator
+ [ -e /sys/bus/platform/drivers/ltc3589-regulator/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/max17135-reg/unbind
+ driver=/sys/bus/platform/drivers/max17135-reg
+ [ -e /sys/bus/platform/drivers/max17135-reg/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/max17135_sensor/unbind
+ driver=/sys/bus/platform/drivers/max17135_sensor
+ [ -e /sys/bus/platform/drivers/max17135_sensor/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mc13892-regulatr/unbind
+ driver=/sys/bus/platform/drivers/mc13892-regulatr
+ [ -e /sys/bus/platform/drivers/mc13892-regulatr/mc13892-regulatr.0//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mx51_lpmode/unbind
+ driver=/sys/bus/platform/drivers/mx51_lpmode
+ [ -e /sys/bus/platform/drivers/mx51_lpmode/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mx5_pm/unbind
+ driver=/sys/bus/platform/drivers/mx5_pm
+ [ -e /sys/bus/platform/drivers/mx5_pm/mx5_pm.0//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc-pxp/unbind
+ driver=/sys/bus/platform/drivers/mxc-pxp
+ [ -e /sys/bus/platform/drivers/mxc-pxp/mxc-pxp//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_dvfs_core/unbind
+ driver=/sys/bus/platform/drivers/mxc_dvfs_core
+ [ -e /sys/bus/platform/drivers/mxc_dvfs_core/mxc_dvfs_core.0//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_dvfsper/unbind
+ driver=/sys/bus/platform/drivers/mxc_dvfsper
+ [ -e /sys/bus/platform/drivers/mxc_dvfsper/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_epdc_fb/unbind
+ driver=/sys/bus/platform/drivers/mxc_epdc_fb
+ [ -e /sys/bus/platform/drivers/mxc_epdc_fb/mxc_epdc_fb//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_i2c_hs/unbind
+ driver=/sys/bus/platform/drivers/mxc_i2c_hs
+ [ -e /sys/bus/platform/drivers/mxc_i2c_hs/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_iim/unbind
+ driver=/sys/bus/platform/drivers/mxc_iim
+ [ -e /sys/bus/platform/drivers/mxc_iim/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_ipu/unbind
+ driver=/sys/bus/platform/drivers/mxc_ipu
+ [ -e /sys/bus/platform/drivers/mxc_ipu/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_keypad/unbind
+ driver=/sys/bus/platform/drivers/mxc_keypad
+ [ -e /sys/bus/platform/drivers/mxc_keypad/mxc_keypad.0//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_pwm/unbind
+ driver=/sys/bus/platform/drivers/mxc_pwm
+ [ -e /sys/bus/platform/drivers/mxc_pwm/mxc_pwm.1//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_sdma/unbind
+ driver=/sys/bus/platform/drivers/mxc_sdma
+ [ -e /sys/bus/platform/drivers/mxc_sdma/mxc_sdma//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_spi/unbind
+ driver=/sys/bus/platform/drivers/mxc_spi
+ [ -e /sys/bus/platform/drivers/mxc_spi/mxc_spi.2//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_wdt/unbind
+ driver=/sys/bus/platform/drivers/mxc_wdt
+ [ -e /sys/bus/platform/drivers/mxc_wdt/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxc_zq_calib/unbind
+ driver=/sys/bus/platform/drivers/mxc_zq_calib
+ [ -e /sys/bus/platform/drivers/mxc_zq_calib/mxc_zq_calib//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxcintuart/unbind
+ driver=/sys/bus/platform/drivers/mxcintuart
+ [ -e /sys/bus/platform/drivers/mxcintuart/mxcintuart.0//mmc_host/mmc0 ]
+ [ -e /sys/bus/platform/drivers/mxcintuart/mxcintuart.1//mmc_host/mmc0 ]
+ [ -e /sys/bus/platform/drivers/mxcintuart/mxcintuart.2//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxcpwrkey/unbind
+ driver=/sys/bus/platform/drivers/mxcpwrkey
+ [ -e /sys/bus/platform/drivers/mxcpwrkey/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxs-dma-apbh/unbind
+ driver=/sys/bus/platform/drivers/mxs-dma-apbh
+ [ -e /sys/bus/platform/drivers/mxs-dma-apbh/mxs-dma-apbh.0//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxs_viim/unbind
+ driver=/sys/bus/platform/drivers/mxs_viim
+ [ -e /sys/bus/platform/drivers/mxs_viim/mxs_viim//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/mxsdhci/unbind
+ driver=/sys/bus/platform/drivers/mxsdhci
+ [ -e /sys/bus/platform/drivers/mxsdhci/mxsdhci.0//mmc_host/mmc0 ]
+ MMC_DRIVER=/sys/bus/platform/drivers/mxsdhci
+ basename /sys/bus/platform/drivers/mxsdhci/mxsdhci.0/
+ MMC_DEVICE=mxsdhci.0
+ error=0
+ [ -e /sys/bus/platform/drivers/mxsdhci/mxsdhci.1//mmc_host/mmc0 ]
+ [ -e /sys/bus/platform/drivers/mxsdhci/mxsdhci.2//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/pmic_adc/unbind
+ driver=/sys/bus/platform/drivers/pmic_adc
+ [ -e /sys/bus/platform/drivers/pmic_adc/pmic_adc.1//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/pmic_battery/unbind
+ driver=/sys/bus/platform/drivers/pmic_battery
+ [ -e /sys/bus/platform/drivers/pmic_battery/pmic_battery.1//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/pmic_leds/unbind
+ driver=/sys/bus/platform/drivers/pmic_leds
+ [ -e /sys/bus/platform/drivers/pmic_leds/pmic_leds.103//mmc_host/mmc0 ]
+ [ -e /sys/bus/platform/drivers/pmic_leds/pmic_leds.114//mmc_host/mmc0 ]
+ [ -e /sys/bus/platform/drivers/pmic_leds/pmic_leds.98//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/pmic_light/unbind
+ driver=/sys/bus/platform/drivers/pmic_light
+ [ -e /sys/bus/platform/drivers/pmic_light/pmic_light.1//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/pmic_rtc/unbind
+ driver=/sys/bus/platform/drivers/pmic_rtc
+ [ -e /sys/bus/platform/drivers/pmic_rtc/pmic_rtc.1//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/pxp-device/unbind
+ driver=/sys/bus/platform/drivers/pxp-device
+ [ -e /sys/bus/platform/drivers/pxp-device/pxp-device//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/reg-fixed-voltage/unbind
+ driver=/sys/bus/platform/drivers/reg-fixed-voltage
+ [ -e /sys/bus/platform/drivers/reg-fixed-voltage/reg-fixed-voltage//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/sdram_autogating/unbind
+ driver=/sys/bus/platform/drivers/sdram_autogating
+ [ -e /sys/bus/platform/drivers/sdram_autogating/*//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/usb_plug/unbind
+ driver=/sys/bus/platform/drivers/usb_plug
+ [ -e /sys/bus/platform/drivers/usb_plug/usb_plug.0//mmc_host/mmc0 ]
+ dirname /sys/bus/platform/drivers/usb_wakeup/unbind
+ driver=/sys/bus/platform/drivers/usb_wakeup
+ [ -e /sys/bus/platform/drivers/usb_wakeup/usb_wakeup.0//mmc_host/mmc0 ]
+ [ -e /sys/bus/platform/drivers/usb_wakeup/usb_wakeup.1//mmc_host/mmc0 ]
+ return 0
+ echo /sys/bus/platform/drivers/mxsdhci mxsdhci.0
/sys/bus/platform/drivers/mxsdhci mxsdhci.0
As far as booting from the SD card, maybe something I did while either installing the software or trying to recover the device convinced it to start booting from the SD card. It might even be related to whatever made it no longer want to boot internally. Not sure on that one!

Your hexdump command produces:

Code:
00000200  53 4e 2d 4e 32 35 30 34  38 34 30 30 35 33 38 31  |SN-N250484005381|
00000210  00 39 5f 31 34 30 38 30  35 31 33 31 34 00 00 00  |.9_1408051314...|
00000220  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000240
So indeed an H2O image. I got out a hex editor and replaced it with the serial number from my Aura's box (which starts with 514B), but alas there was no change other than causing it to print "There are differences between boot sector and its backup." and some related stuff at boot.
mikeash is offline   Reply With Quote