Paseando por un centro comercial cualquiera acabé dentro de una cadena de electrodomésticos cualquiera, en la que había un interesante disco duro multimedia de 1 tera con conexión de red y bittorrent integrado: un MemUp LX Series. Por si fuera poco anunciaban que soportaba MKV y H.264 en FullHD, con lo que no me lo pensé y me lo compré. Luego resultó que esos dos formatos sólo los soporta si pones un ordenador a trascodificar para que le envíe los datos masticados por red, pero aún así, el cliente bittorrent integrado tenía buena pinta. Además, con suerte usaría un Linux embebido (empotrado siempre me sonó mal 🙂 ), con lo que incluso era posible que pudiese hacerle modificaciones. Y aunque no fuese así, al menos podría ver mis series favoritas en la tele sin tener que andar de un lado para otro con un DVD regrabable.
La primera prueba, reproducir un DivX, fue excelente: buena calidad de imagen y sonido, buenos menús (incluso tiene una previsualización y todo)… buena pinta. El acceso por red, por su parte, lo considero simplemente aceptable: es por SMB (red de windows), lo que no me convence mucho porque, aunque una vez que has entrado funciona bien, a veces da algún problemilla, así que añadir un servidor FTP sería una buena idea.
Por desgracia, en cuanto intenté usar el cliente BitTorrent desde la (espartana) interfaz web, empezaron los problemas: la descarga no arrancaba, e incluso el aparato se colgaba en según qué momentos (!). Un poco mosca, decidí dejar de lado el cliente BT de momento e investigar por otro lado a ver qué descubría.
AVISO: a partir de aquí empiezo a tocar en el sistema operativo del disco duro multimedia, lo que significa que estas acciones sólo las deben realizar aquellos que sepan muy bien lo que hacen. Si alguien se carga su disco, será el único responsable.
Avisados estáis.
Comencé con un escaneo de puertos, y apareció nada menos que un servicio de telnet. La cosa se ponía interesante. Me conecté, puse root como usuario, y p’adentro, sin clave ni nada (así da gusto). Lo primero que hice fue echar un vistazo a /proc/version, /proc/cpuinfo y /proc/meminfo, que devolvieron lo siguiente (he marcado en rojo las partes interesantes):
Trying 192.168.1.103... Connected to 192.168.1.103. Escape character is '^]'. Venus login: root warning: cannot change to home directory BusyBox v1.1.3 (2008.12.15-01:58+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. / # cat /proc/version Linux version 2.6.12.6-VENUS (root@localhost.localdomain) (gcc version 3.4.4 mipssde-6.03.01-20051114) #13 Mon Mar 9 14:40:01 CST 2009 / # cat /proc/cpuinfo system type : Realtek Venus processor : 0 cpu model : MIPS 4KEc V6.4 BogoMIPS : 199.06 wait instruction : yes microsecond timers : yes tlb_entries : 16 extra interrupt vector : yes hardware watchpoint : yes ASEs implemented : VCED exceptions : not available VCEI exceptions : not available / # cat /proc/meminfo MemTotal: 56984 kB MemFree: 9460 kB Buffers: 760 kB Cached: 6436 kB SwapCached: 0 kB Active: 6812 kB Inactive: 2976 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 56984 kB LowFree: 9460 kB SwapTotal: 32 kB SwapFree: 32 kB Dirty: 0 kB Writeback: 0 kB Mapped: 7208 kB Slab: 3476 kB CommitLimit: 28524 kB Committed_AS: 7848 kB PageTables: 368 kB VmallocTotal: 1048560 kB VmallocUsed: 696 kB VmallocChunk: 1047804 kB
¡Sí, un Linux con entorno BusyBox! Eso simplificaba mucho las cosas. Por otra parte, un procesador MIPS es buena cosa también. Habría sido mejor un ARM, sin duda, pero éste también está bastante bien soportado. Sin embargo, lo que no me cuadraba era la memoria: ¿sólo 57MB de RAM y sin Swap? Un poco raro. De hecho, esa falta de memoria podría tener algo que ver con los cuelgues.
Al principio sospeché que el sistema podría ser un uClinux, el cual, al ser para sistemas sin MMU, no puede utilizar Swap. Pero por otro lado, hasta donde yo sabía, todos los micros MIPS llevan gestor de memoria, por lo que no tenía mucho sentido.
Decidí echar un vistazo al sistema de archivos para ver si podría probar a crear una partición de Swap que aliviase el escaso margen de memoria, y entonces apareció la segunda sorpresa:
/ # fdisk /dev/hda
The number of cylinders for this disk is set to 121601.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/hda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 2 21 160650 82 Linux swap
/dev/hda2 22 41 160650 83 Linux
/dev/hda3 42 121581 976270050 7 HPFS/NTFS
¡Ya había una partición de Swap definida! ¿Pero por qué no la usaba? Probé a activarla a mano con swapon /dev/hda1 pero sólo conseguí un mensaje de error. Sospechando que algo raro pasaba con ella, decidí hacer un volcado a mi ordenador de sobremesa y examinarla con Ghex2 (un editor hexadecimal) para ver qué contenía, no fuese a ser una partición de datos con un tipo incorrecto. La sorpresa fue mayúscula cuando descubrí ¡que estaba completamente a cero! La partición de Swap no estaba formateada, y por eso no la reconocía el sistema como tal.
Mi primer impulso fue formatearla manualmente, pero entonces recordé que en el menú Ajustes -> Sistema había una opción para formatear el disco. Decidí probarla a ver si también hacía algo con ésta, y así fue: después de ordenar el formateo desde el menú del disco multimedia, no sólo se borró la partición principal, sino que formateó también la partición de Swap y la montó correctamente. Sin embargo, la interfaz web había desaparecido, y en su lugar sólo aparecía una página de demostración de CGIs.
¿Qué había pasado? Nada más terminar de formatear, el disco pregunta si queremos instalar BT/SAMBA, y nos da cinco escasos segundos para pulsar OK si queremos hacerlo. Yo me despisté, el temporizador venció, y no instaló nada. Así que decidí formatearlo de nuevo y esta vez estuve atento para pulsar el OK en el momento adecuado. Una vez hecho todo quedó perfecto: la interfaz Web apareció y el cliente BitTorrent funcionó perfectamente, sin cuelgues.
Así pues, si teneis un disco de este tipo y os da problemas, probad a formatearlo desde el menú principal. Con un poco de suerte puede ser que se solucione (pero no os olvidéis de copiar antes los archivos que tuvieseis en el disco duro multimedia, ya que se perderán por completo durante el formateo).
Dado que la entrada me está saliendo algo larga pararé aquí y seguiré con mis descubrimientos sobre el sistema de archivos, el entorno de desarrollo y otras hierbas en otra entrada.
Multimediando por A cuadros está licenciado bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.
Que bueno!
Felicitaciones por tu compra, ojalá lo disfrutes.
Saludos
El mio traía activada la swap de serie!
Ánimo en el cacharreo: se te observa 🙂
woxter 750 ?
Para Wanza: en el artículo pone claramente que es un MemUp LX.
Hola, has seguido haciendo algo con esto? tengo uno con las mismas características y sin darle uso… por saber si podía aprovecharlo para algo.
Un saludo!
Me temo que no. Cuando compré el WebTV dejé de lado el MemUp. Ten en cuenta que es bastante limitado.
Muchas gracias por toda esta información!!!
La verdad es que me ha abierto un mundo nuevo con el cacharro que tengo. Se trata de un Toshiba StorE TV +. Ya he conseguido instalar el Transmission con tu compilación del MemUp, pero no aguanta mucho, el disco se bloquea y hay que reiniciarlo cada poco tiempo (supongo por la falta de memoria). Se te ocurre cómo podría aprovechar al memoria montar la memoria swap sin tener que formatear el disco? (la verdad es que no estoy muy puesto con el linux).
Puedes crear un fichero de swap, pero sólo si tienes acceso como root. Para ello, primero necesitas tener un fichero del tamaño del swap que quieres. Te sugiero entre el doble y el cuádruple de la RAM del cacharro, si quieres compilar. Si no, te llegará con el doble que de RAM.
Si no tienes un archivo de ese tamaño, puedes crearlo con DD:
dd if=/dev/zero of=nombre_de_archivo bs=1000000 count=tamaño_en_megas
una vez creado (tardará un buen rato), hay que formatearlo para swap:
mkswap nombre_de_archivo
Con esto ya está listo. Ahora, cada vez que enciendas el aparato, debes activar el swap, para lo cual tienes que hacer:
swapon nombre_de_archivo
y listo. Para comprobar que está todo correcto, haz un
cat /proc/meminfo
y mira la entrada SwapTotal. Debería salir el tamaño del archivo (o mayor, si ya tenía un swap).
Gracias de nuevo!!
Parece que anda mejor al darle un poco mas de memoria, aunque sea paginando. De todas formas, me tiene loco el cacharro, porque a las dos horas mas o menos de estar Transmission funcionando, el sistema se cuelga, y tengo que reiniciar el disco. Muchas veces coincide al finalizar una descarga y empezar la siguiente. En el log de transmission no dice nada, y ya no sé que mas mirar.
Prueba a darle más memoria, a bajar ficheros de uno en uno, o a compilar la última versión de Transmission.