Desbloqueo de un kindle que no arranca


En efecto existe un sistema Linux envo para todos los usuarios de Windows frustrados que están tratando de desbloquear un Kindle y están luchando con la incapacidad de Windows para determinar e instalar correctamente los controladores de dispositiv, o para las personas que solo quieren desmontar un Kindle, sin sumergirse en todos los aspectos internos. Y, de hecho, incluso podría ser útil para las personas que están familiarizadas con esos componentes internos.

Para dar crédito a quien se merece el crédito: aquí están los métodos de eliminación de bloqueos simples originales para los hilos K5-Touch, K4-Mini y K3-Keyboard , que contienen prácticamente toda la información sin la cual Kubrick nunca hubiera sido posible: un enorme GRACIAS a todos. ¡Quién proporcionó información invaluable y quién desarrolló los programas fundamentales en primer lugar!

Ahora tenemos Kubrick, un LiveCD para desmontar Kindle 3, Kindle 4 y Kindle Touch. Significa que no es necesario instalar Linux para utilizar las herramientas de eliminación de ladrillos de Linux. Más noticias (y enlace de descarga) para esta increíble herramienta de eliminación de ladrillos aquí:https://www.mobileread.com/forums/sho…d.php?t=206064

Kubrick es un sistema Live Linux para desmontar dispositivos Kindle. Debería funcionar en casi todas las PC o portátiles que existen. que puede arrancar desde un CD, DVD o unidad USB. Kubrick no modifica su computadora ni su sistema operativo en absoluto – simplemente proporciona un asistente basado en cuadros de diálogo que lo guía a través de la procedimiento para desbloquear un Kindle.

Características de Kubrick:

  • Instala un impecable firmware 3.4 (K3), 4.1.1 (K4) o 5.1.2 (KT); ¡No se admiten otros dispositivos (K1, K2, KDX, Paperwhite)!
  • Instala una partición diags habilitada para SSH (K4 / KT)
  • Puede (opcionalmente) instalar el dispositivo jailbreak (K4 / KT); la imagen de K3 siempre incluye el jailbreak.
  • Puede (opcionalmente) restablecer los ajustes de configuración internos (K4 / KT)
  • Puede (opcionalmente) restaurar los archivos Text-to-Speech (KT)
  • Para los dispositivos K4 y KT, las últimas acciones opcionales también se pueden realizar de forma independiente (es decir, sin sobrescribir el firmware en la partición principal).

Todo el procedimiento implica de 5 a 10 pasos simples, y toma alrededor de 10 minutos en un K4 o KT, y alrededor de 2 horas en un K3 (las 2 horas son el tiempo que necesita para parpadear, no el tiempo que necesita para configurarlo )

CÓMO:

  1. Determine qué archivo (s) necesita, luego descargue y descomprima uno o más de los siguientes archivos:
    • Imagen ISO de Live CD , para desmontardispositivos K4 y KT :
      • Nota: también puede grabar esta imagen en un DVD.
      • Descargar (481 MB; ixtab, versión 3.6 )
      • Mirror 1 (twobob, versión 3.6 )
      • Mirror 2 (dsmid, versión 3.6 )
    • Imagen ISO de Live CD , para desmontardispositivos K3 :
      • Nota: también puede grabar esta imagen en un DVD.
      • Descargar (384 MB; ixtab, versión 3.6 )
      • Mirror 1 (twobob, versión 3.6 )
      • Mirror 2 (dsmid, versión 3.6 )
    • Imagen ISO de DVD en vivo , para desmontar dispositivos K3 , K4 y KT :
      • Nota: esta imagen debe grabarse en un DVD; es demasiado grande para un CD.
      • Descargar (783 MB; ixtab, versión 3.6 )
      • Mirror 1 (dsmid, versión 3.6 )
    • Imagen de disco USB en vivo ( capacidad requerida> = 1 GB ):
      • Nota: Además de este archivo, también se REQUIERE una de las imágenes ISO anteriores . Para actualizar una memoria USB a la versión más reciente de Kubrick, simplemente coloque la última imagen ISO en la memoria USB. Consulte el archivo README.txt contenido en la descarga para obtener más información.
      • Descargar (1,5 MB; ixtab)
      • Espejo 1 (dos bob)
      • Espejo 2 (dsmid)
  2. Lea el archivo README.txt.
    Se copia aquí de nuevo como referencia …Spoiler : 
  3. Coloque el archivo de imagen descargado en el medio de su elección, siguiendo las instrucciones contenidas en el archivo README.
  4. Inicie su computadora desde el CD / DVD o la memoria USB y espere a que se inicie el asistente en pantalla.

Asegúrese de realizar los pasos 3 y 4 con hardware físico, es decir, en una computadora real , y con un CD / DVD o memoria USB real , ¡no en una máquina virtual!
Spoiler : 

Si bien probé exhaustivamente Kubrick muchas veces en mis dispositivos, no puedo garantizar que funcione en todos los hardware en todas las situaciones imaginables. En particular, si su Kindle es FUBAR por alguna razón (por ejemplo, si realmente lo arruinó al borrar TODOS sus datos), esto tampoco ayudará. Pero debería funcionar en la mayoría de situaciones más o menos estándar en las que «mi Kindle dejó de funcionar».

Si algo sale mal durante la remoción de ladrillos:

  1. Empiece de nuevo desde el principio y asegúrese de que todas sus selecciones (¡en particular el dispositivo a desbarbar!) Sean correctas. (Sí, ha habido informes de personas que se equivocaron porque eligieron el dispositivo equivocado).
  2. Asegúrese de que su Kindle esté cargado. Si sigue teniendo problemas, mientras que debricking, PARADA – y cargar la batería con un cargador de pared durante al menos 20 horas . Luego reinicie el procedimiento. Los Kindles descargados son la causa número uno de comportamiento extraño.

Cosas técnicas:
Spoiler : 

A continuación se muestran algunas capturas de pantalla de cómo se ve la interfaz de usuario. Tenga en cuenta que estos se tomaron mientras se ejecutaba en una máquina virtual y son solo algunos ejemplos. Todo el procedimiento implica más acciones y normalmente debería realizarse en un ordenador «real» (¡física!), No en una máquina virtual.

1-Pantalla de bienvenida al arrancar con un USB o cd sera similar a la siguiente:

2-Ahora debemos seleccionar el modelo del kindle

3-Finalmente tenemos que conectar el kindle al ordenador y seguir las instrucciones:

Preguntas y respuestas:
----------------------

P: ¿Cómo preparo Kubrick para su uso?
R1: Si descargó una imagen de CD o DVD:
Grabe boot.iso en un CD o DVD. Cómo hacer esto depende de su
SO y software instalado. En caso de duda, pregunte a su motor de búsqueda favorito.
A2: Si desea crear una memoria USB de arranque:
ANTES DE COMENZAR: El siguiente procedimiento *** BORRARÁ TODOS LOS
DATOS DEL USB STICK *** - Se le ha advertido.
PASO 1:
- Descarga y descomprime kubrick-usb-base.zip. Esto es muy
archivo pequeño que proporciona un sistema de archivos USB básico de 1 GB que puede arrancar
una imagen de Kubrick en muchas computadoras. Sin embargo, * NO * contiene un
sistema actual de Kubrick todavía. Consulte a continuación (paso 2) para obtener más información.
- Escriba kubrick-usb-base.img en su memoria USB. Cómo hacer esto depende
en su sistema operativo y el software instalado, pero aquí hay algunas sugerencias:
* En Windows, puede utilizar http://sourceforge.net/projects/win32diskimager/
* En Linux o MacOS, puede usar la línea de comando, por ejemplo:
sudo dd if = kubrick.img of = <DISPOSITIVO_USB>. En caso de duda, busque el
Internet para obtener detalles sobre cómo usar correctamente dd en su
plataforma, hay muchos tutoriales.
PASO 2:
- Descargue y descomprima una imagen ISO (CD o DVD) que admita la
Kindle (s) que desea desmontar.
- Copie el "boot.iso" de esa descarga en el "efi / boot /" existente
directorio en la memoria USB de Kubrick. No cree ni modifique otros
archivos o directorios en la memoria USB.
- Expulse de forma segura la memoria USB. La memoria USB ya está preparada para arrancar.
y desmonte los dispositivos que seleccionó.

P: Después de la preparación, ¿cómo lo uso?
R: Inserte el CD, DVD o dispositivo USB en su computadora.
Haga que la computadora arranque desde el dispositivo Kubrick.
Nuevamente, el procedimiento exacto realmente depende de su hardware, por lo que
No puedo dar más instrucciones específicas. La mayoría de las computadoras
le permite elegir el dispositivo de arranque mediante una tecla de función,
como F8, F9, F10 o F12.
- En computadoras más antiguas, es posible que deba ingresar al BIOS para seleccionar manualmente
el orden de arranque.
- En computadoras Apple, mantenga presionada la tecla "alt" ("opción") izquierda mientras
encender la computadora. El CD / DVD se mostrará con un icono de CD etiquetado
"Windows" y la memoria USB con un icono de disco USB con la etiqueta "EFI Boot".
Consulte a continuación para obtener más notas de Apple.
P: ¿Qué hago en la pantalla de inicio?
R: Por lo general, no es necesario que haga nada. Espere unos segundos.

P: Ok, arrancó, ¿y ahora qué?
R: El asistente de eliminación de ladrillos debería iniciarse automáticamente.
Las únicas teclas que realmente necesita a partir de ahí son las teclas de flecha,
y la tecla ENTER. Sigue las instrucciones en la pantalla.

P: Estoy usando una computadora Apple con la memoria USB y no arranca.
R: Bienvenido al universo de Apple. En primer lugar, Kubrick solo funcionará en Intel
Macs. No funcionará en modelos antiguos de Mac (PowerPC), porque estos usan un
procesador completamente diferente. Dicho esto, la mayoría de las Mac modernas pueden arrancar
desde esa memoria USB, pero posiblemente solo si también instala Boot Camp.
Intente arrancar desde un CD o DVD. Si eso no funciona, bueno,
vea el credo de "pensar diferente" en acción.

P: El archivo kubrick-usb-base.img funciona, pero ahora mi memoria USB
solo aparece como 1GB, en lugar de su capacidad real de 4/16 / X GB.
R: Sí, eso es normal. Utilice una herramienta que le permita (de forma no destructiva)
cambiar el tamaño de las particiones. Un ejemplo sería GParted:
http://gparted.sourceforge.net/

P: Soy un usuario avanzado y quiero arrancar Kubrick con un kernel personalizado
parámetros. Cómo puedo...?
R1: Al iniciar desde un CD o DVD, edite el indicador de inicio o siga las
instrucciones de isolinux.
R2: al arrancar desde una memoria USB en hardware x86 estándar, utilice GRUB
Mecanismos incorporados para modificar el comportamiento de arranque. Alternativamente, edite el
boot / grub / grub.cfg en la memoria USB.
A3: al arrancar desde una memoria USB en hardware EFI (por ejemplo, un dispositivo Apple),
edite el archivo efi / boot / grub.cfg.

P: ¿Permitirá Kubrick desmontar Kindle 1, 2, DX, Paperwhite?
R: No, porque estos dispositivos no se pueden eliminar a través de USB. Lo siento.

P: ¿Por qué "Kubrick"?
R: Solo porque 🙂
Bueno, está bien: inicialmente le puse un nombre en código a este proyecto KindleDebrick, luego
KDebrick (o KUnbrick o algo así) ... y luego terminó con Kubrick

Monitorización de corriente continua


La medición de la Intensidad de la corriente siempre es un poco desafiante, ya que tenemos que medirla en un circuito en serie pues por lo general, la medición no es posible sin romper un circuito, insertando algunos cables para la medida.

Hay algunos métodos directos que utilizan una masa comun entre el dispositivo medido y el dispositivo de medición con la ayuda de un registro entre ellos. Pero tales métodos son nunca tan confiables debido al uso de una masa común, que puede hacer que los sistemas sean inestables.

Los sensores podrían ayudar a resolver este desafío. Los sensores como el INA219 de Texas Instruments operan en una configuración de bus I2C que hace posible medir la corriente viva.

  • El módulo del sensor de corriente está configurado para monitorear la caída de voltaje de los pines y el voltaje de alimentación del bus, tiempos de conversión y opciones de filtro.
  • El valor de calibración programado del módulo de corriente digital de alta precisión se combina con un multiplicador interno para admitir la lectura directa de corriente.
  • El INA219 es un monitor de alimentación y bypass que admite la interfaz I2C o SMBUS.
  • La función de consumo de energía ultrabajo del módulo del sensor de corriente de la interfaz I2C se puede utilizar de manera adecuada y adecuada en equipos que funcionan con baterías.
  • El módulo del sensor de corriente se caracteriza por una salida de señal I2C, que puede comunicarse directamente con el sistema principal.

ina219 Stromsensormodul

En este proyecto, la primera parte fue conectar este sensor con una MCU , que en este caso fue un ESP32 con Arduino IDE debido a su facilidad de uso y capacidad para monitoreo remoto a través de internet ,aunque también puede funcionar con una Raspberry Pi como vamos a ver.

En el caso de usar como MCU una Raspberry el desafío que se enfrentó el autor fue encender esta a través de GPIO usando un convertidor de USB a TTL. El Raspberry Pi no se inicia y las medidas tampoco aparecen ,pero el autor encontró una solución sobre la marcha.

Ahora, se tiene la solución para encender RaspberryPi a través de GPIO. El problema es que se requiere usar GPIO 2 y 4 para suministrar energía de 5V y GPIO 6 para suministrar tierra.

La siguiente imagen muestra el Pi en ejecución a través de Putty y sus actualizaciones, la imagen es el gráfico de la absorción de corriente en mAmps por Pi, alcanzando el máximo alrededor de 900 mAmps solo a veces.

Normalmente permanece alrededor de 500mAmps.

Cuando la RaspberryPi funciona con comandos sudo de apagado todavía hay algo de energía requerida por el LED de estado y otras funciones internas. Si desenchufamos el cable, el consumo de energía será cercano a cero, como en las siguientes capturas de pantalla.

Tambien se puede agregar una pequeña pantalla que pudiera mostrar los datos en vivo para el monitoreo de energía por ejemplo una pantalla LCD SSD1306 para que funcione.

Una idea más es que los datos de monitoreo de energía se pueden enviar a los ruidosos, como AWS IoT, donde los datos se manipulan de manera efectiva, pero eso es demasiado para un dispositivo tan pequeño. Además, no encaja con el proyecto.

Una cosa más interesante es que un PoE HaT para RaspberryPi (básicamente cualquier placa) podría tener capacidad de monitoreo actual con LCD. Sería interesante saber qué parte del software / hardware consume más energía.

A continuación el código del proyecto para Arduino con los comentarios en español;

    #include <Adafruit_GFX.h>  
    #include <Adafruit_SSD1306.h>  
    #include <Wire.h>  
    #include <Adafruit_INA219.h>  
      
      
    #define SCREEN_WIDTH 128 // Ancho de pantalla OLED, en píxeles  
    #define SCREEN_HEIGHT 32 // Altura de la pantalla OLED, en píxeles  
      
      
    #define OLED_RESET 4 // Restablecer el pin # (o -1 si se comparte el pin de restablecimiento de Arduino)  
    #define SCREEN_ADDRESS 0x3C /// <Consulte la hoja de datos para la dirección; 0x3D para 128x64, 0x3C para 128x32  
    Pantalla Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED_RESET);  
      
      
    Adafruit_INA219 ina219;  
      
     void setup()   
    {  
      Serial.begin ( 115200 );  
      while  (! Serial) {  
          // pausará Zero, Leonardo, etc.hasta que se abra la consola serie  
       delay( 1 );  
      }  
      if (! display.begin (SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {  
        Serial.println (F ( "Falló la asignación SSD1306" ));  
       halt (;;); // No continúes, bucle para siempre  
      }  
      display.display ();  
      delay ( 2000 ); // Pausa por 2 segundos  
      display.clearDisplay ();  
        
      uint32_t currentFrequency;  
          
      Serial.println ( "¡Hola!" );  
        
      // Inicializa el INA219.  
      // Por defecto, la inicialización usará el rango más grande (32V, 2A). Sin embargo  
      // puede llamar a una función setCalibration para cambiar este rango (ver comentarios).  
      if  (! ina219.begin ()) {  
        Serial.println ( "No se pudo encontrar el chip INA219" );  
        while  ( 1 ) {retraso ( 10 ); }  
      }  
      // Para usar un rango de 32V, 1A ligeramente más bajo (mayor precisión en amperios):  
      //ina219.setCalibration_32V_1A();  
      // O para usar un rango más bajo de 16V, 400mA (mayor precisión en voltios y amperios):  
      //ina219.setCalibration_16V_400mA();  
      
      
      Serial.println ( "Medición de tensión y corriente con INA219 ..." );  
    }  
      
      
     void loop ()   
    {  
       tensión de derivación de flotación =  0 ;  
       voltaje del bus flotante =  0 ;  
      flotar  current_mA =  0 ;  
       voltaje de carga flotante =  0 ;  
      flotación  power_mW =  0 ;  
      
      
      shuntvoltage = ina219.getShuntVoltage_mV ();  
      busvoltage = ina219.getBusVoltage_V ();  
      current_mA = ina219.getCurrent_mA ();  
      power_mW = ina219.getPower_mW ();  
      tensión de carga = tensión de bus + (tensión de derivación /  1000 );  
        
      //Serial.print("Bus Voltage: "); Serial.print (busvoltage); Serial.println ("V");  
      //Serial.print("Shunt Voltage: "); Serial.print (shuntvoltage); Serial.println ("mV");  
      //Serial.print("Load Voltage: "); Serial.print (voltaje de carga); Serial.println ("V");  
      Serial.print ( "Actual:" ); Serial.print (current_mA); Serial.println ( "mA" );  
      //Serial.print("Power: "); Serial.print (potencia_mW); Serial.println ("mW");  
      Serial.println ( "" );  
      
      
      delay( 10 );  
        
      display.clearDisplay ();  
      display.setTextSize ( 2 );  
      display.setTextColor (SSD1306_WHITE);  
      display.setCursor ( 5 , 5 );  
      display.print (current_mA);  
      display.print ( "mA" );  
      
      
        
    // display.setCursor (0,0);  
    // display.print (power_mW);  
    // display.print ("mWatt");  
        
      display.display ();  
      delay( 100 );  
      display.clearDisplay ();  
            
    }  


Fuente :https://www.element14.com