{"id":217,"date":"2009-09-12T01:37:41","date_gmt":"2009-09-11T23:37:41","guid":{"rendered":"http:\/\/blog.rastersoft.com\/?p=217"},"modified":"2009-09-12T01:37:41","modified_gmt":"2009-09-11T23:37:41","slug":"multimediando","status":"publish","type":"post","link":"https:\/\/blog.rastersoft.com\/?p=217","title":{"rendered":"Multimediando"},"content":{"rendered":"<p>Paseando por un centro comercial cualquiera acab\u00e9 dentro de una cadena de electrodom\u00e9sticos cualquiera, en la que hab\u00eda un interesante disco duro multimedia de 1 tera con conexi\u00f3n 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\u00e9 y me lo compr\u00e9. Luego result\u00f3 que esos dos formatos s\u00f3lo los soporta si pones un ordenador a trascodificar para que le env\u00ede los datos masticados por red, pero a\u00fan as\u00ed, el cliente bittorrent integrado ten\u00eda buena pinta. Adem\u00e1s, con suerte usar\u00eda un Linux embebido (empotrado siempre me son\u00f3 mal \ud83d\ude42 ), con lo que incluso era posible que pudiese hacerle modificaciones. Y aunque no fuese as\u00ed, al menos podr\u00eda ver mis series favoritas en la tele sin tener que andar de un lado para otro con un DVD regrabable.<\/p>\n<p>La primera prueba, reproducir un DivX, fue excelente: buena calidad de imagen y sonido, buenos men\u00fas (incluso tiene una previsualizaci\u00f3n y todo)&#8230; buena pinta. El acceso por red, por su parte, lo considero simplemente aceptable: es por <a href=\"http:\/\/en.wikipedia.org\/wiki\/Samba_(software)\" target=\"_blank\">SMB<\/a> (red de windows), lo que no me convence mucho porque, aunque una vez que has entrado funciona bien, a veces da alg\u00fan problemilla, as\u00ed que a\u00f1adir un servidor FTP ser\u00eda una buena idea.<\/p>\n<p>Por desgracia, en cuanto intent\u00e9 usar el cliente BitTorrent desde la (espartana) interfaz web, empezaron los problemas: la descarga no arrancaba, e incluso el aparato se colgaba en seg\u00fan qu\u00e9 momentos (!). Un poco mosca, decid\u00ed dejar de lado el cliente BT de momento e investigar por otro lado a ver qu\u00e9 descubr\u00eda.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>AVISO<\/strong><\/span><span style=\"color: #ff0000;\">:<\/span> <strong>a partir de aqu\u00ed empiezo a tocar en el sistema operativo del disco duro multimedia, lo que significa que estas acciones s\u00f3lo las deben realizar aquellos que sepan muy bien lo que hacen. Si alguien se carga su disco, ser\u00e1 el \u00fanico responsable.<br \/>\n<\/strong><\/p>\n<p><strong>Avisados est\u00e1is.<\/strong><\/p>\n<p>Comenc\u00e9 con un escaneo de puertos, y apareci\u00f3 nada menos que un servicio de telnet. La cosa se pon\u00eda interesante. Me conect\u00e9, puse root como usuario, y p&#8217;adentro, sin clave ni nada (as\u00ed 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):<\/p>\n<div class=\"mycode\">\n<pre class=\"mycode\">Trying 192.168.1.103...\nConnected to 192.168.1.103.\nEscape character is '^]'.\nVenus login: root\nwarning: cannot change to home directory\n\n<span style=\"color: #ff0000;\">BusyBox<\/span> v1.1.3 (2008.12.15-01:58+0000) Built-in shell (ash)\nEnter 'help' for a list of built-in commands.\n\n\/ # cat \/proc\/version\n<span style=\"color: #ff0000;\">Linux version 2.6.12.6-VENUS<\/span> (&#x72;o&#x6f;t&#x40;l&#x6f;&#99;a&#x6c;h&#x6f;s&#x74;&#46;&#x6c;&#111;c&#x61;l&#x64;o&#x6d;&#97;&#x69;&#x6e;) (gcc version 3.4.4 mipssde-6.03.01-20051114) #13 Mon Mar 9 14:40:01 CST 2009\n\n\/ # cat \/proc\/cpuinfo\n<span style=\"color: #ff0000;\">system type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : Realtek Venus<\/span>\nprocessor\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0\n<span style=\"color: #ff0000;\">cpu model\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : MIPS 4KEc V6.4<\/span>\nBogoMIPS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 199.06\nwait instruction\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : yes\nmicrosecond timers\u00a0\u00a0\u00a0\u00a0\u00a0 : yes\ntlb_entries\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 16\nextra interrupt vector\u00a0 : yes\nhardware watchpoint\u00a0\u00a0\u00a0\u00a0 : yes\nASEs implemented\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 :\nVCED exceptions\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : not available\nVCEI exceptions\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : not available\n\n\/ # cat \/proc\/meminfo\n<span style=\"color: #ff0000;\">MemTotal:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 56984 kB<\/span>\n<span style=\"color: #ff0000;\">MemFree:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 9460 kB<\/span>\nBuffers:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 760 kB\nCached:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 6436 kB\nSwapCached:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB\nActive:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 6812 kB\nInactive:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2976 kB\nHighTotal:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB\nHighFree:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB\nLowTotal:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 56984 kB\nLowFree:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 9460 kB\n<span style=\"color: #ff0000;\">SwapTotal:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 32 kB\nSwapFree:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 32 kB<\/span>\nDirty:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB\nWriteback:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB\nMapped:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 7208 kB\nSlab:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3476 kB\nCommitLimit:\u00a0\u00a0\u00a0\u00a0 28524 kB\nCommitted_AS:\u00a0\u00a0\u00a0\u00a0 7848 kB\nPageTables:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 368 kB\nVmallocTotal:\u00a0 1048560 kB\nVmallocUsed:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 696 kB\nVmallocChunk:\u00a0 1047804 kB<\/pre>\n<\/div>\n<p>\u00a1S\u00ed, un Linux con <a href=\"http:\/\/en.wikipedia.org\/wiki\/BusyBox\" target=\"_blank\">entorno BusyBox<\/a>! Eso simplificaba mucho las cosas. Por otra parte, un <a href=\"http:\/\/en.wikipedia.org\/wiki\/MIPS_architecture\" target=\"_blank\">procesador MIPS<\/a> es buena cosa tambi\u00e9n. Habr\u00eda sido mejor un ARM, sin duda, pero \u00e9ste tambi\u00e9n est\u00e1 bastante bien soportado. Sin embargo, lo que no me cuadraba era la memoria: \u00bfs\u00f3lo 57MB de RAM y sin Swap? Un poco raro. De hecho, esa falta de memoria podr\u00eda tener algo que ver con los cuelgues.<\/p>\n<p>Al principio sospech\u00e9 que el sistema podr\u00eda ser un <a href=\"http:\/\/en.wikipedia.org\/wiki\/%CE%9CClinux\" target=\"_blank\">uClinux<\/a>, el cual, al ser para sistemas sin <a href=\"http:\/\/en.wikipedia.org\/wiki\/Memory_management_unit\" target=\"_blank\">MMU<\/a>, no puede utilizar Swap. Pero por otro lado, hasta donde yo sab\u00eda, todos los micros MIPS llevan gestor de memoria, por lo que no ten\u00eda mucho sentido.<\/p>\n<p>Decid\u00ed echar un vistazo al sistema de archivos para ver si podr\u00eda probar a crear una partici\u00f3n de Swap que aliviase el escaso margen de memoria, y entonces apareci\u00f3 la segunda sorpresa:<\/p>\n<div class=\"mycode\">\n<pre class=\"mycode\">\/ # fdisk \/dev\/hda\n\nThe number of cylinders for this disk is set to 121601.\nThere is nothing wrong with that, but this is larger than 1024,\nand could in certain setups cause problems with:\n1) software that runs at boot time (e.g., old versions of LILO)\n2) booting and partitioning software from other OSs\n (e.g., DOS FDISK, OS\/2 FDISK)\n\nCommand (m for help): p\n\nDisk \/dev\/hda: 1000.2 GB, 1000204886016 bytes\n255 heads, 63 sectors\/track, 121601 cylinders\nUnits = cylinders of 16065 * 512 = 8225280 bytes\n\n Device Boot\u00a0\u00a0\u00a0 Start\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End\u00a0\u00a0\u00a0 Blocks\u00a0\u00a0 Id\u00a0 System\n<span style=\"color: #ff0000;\">\/dev\/hda1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 21\u00a0\u00a0\u00a0\u00a0\u00a0 160650\u00a0\u00a0 82\u00a0 Linux swap<\/span>\n\/dev\/hda2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 22\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 41\u00a0\u00a0\u00a0\u00a0\u00a0 160650\u00a0\u00a0 83\u00a0 Linux\n\/dev\/hda3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 42\u00a0\u00a0\u00a0\u00a0\u00a0 121581\u00a0\u00a0 976270050\u00a0\u00a0\u00a0 7\u00a0 HPFS\/NTFS<\/pre>\n<\/div>\n<p>\u00a1Ya hab\u00eda una partici\u00f3n de Swap definida! \u00bfPero por qu\u00e9 no la usaba? Prob\u00e9 a activarla a mano con <em>swapon \/dev\/hda1<\/em> pero s\u00f3lo consegu\u00ed un mensaje de error. Sospechando que algo raro pasaba con ella, decid\u00ed hacer un volcado a mi ordenador de sobremesa y examinarla con Ghex2 (un editor hexadecimal) para ver qu\u00e9 conten\u00eda, no fuese a ser una partici\u00f3n de datos con un tipo incorrecto. La sorpresa fue may\u00fascula cuando descubr\u00ed \u00a1que estaba completamente a cero! La partici\u00f3n de Swap no estaba formateada, y por eso no la reconoc\u00eda el sistema como tal.<\/p>\n<p>Mi primer impulso fue formatearla manualmente, pero entonces record\u00e9 que en el men\u00fa <strong>Ajustes -&gt; Sistema<\/strong> hab\u00eda una opci\u00f3n para formatear el disco. Decid\u00ed probarla a ver si tambi\u00e9n hac\u00eda algo con \u00e9sta, y as\u00ed fue: despu\u00e9s de ordenar el formateo desde el men\u00fa del disco multimedia, no s\u00f3lo se borr\u00f3 la partici\u00f3n principal, sino que formate\u00f3 tambi\u00e9n la partici\u00f3n de Swap y la mont\u00f3 correctamente. Sin embargo, la interfaz web hab\u00eda desaparecido, y en su lugar s\u00f3lo aparec\u00eda una p\u00e1gina de demostraci\u00f3n de CGIs.<\/p>\n<p>\u00bfQu\u00e9 hab\u00eda pasado? Nada m\u00e1s 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\u00e9, el temporizador venci\u00f3, y no instal\u00f3 nada. As\u00ed que decid\u00ed formatearlo de nuevo y esta vez estuve atento para pulsar el OK en el momento adecuado. Una vez hecho todo qued\u00f3 perfecto: la interfaz Web apareci\u00f3 y el cliente BitTorrent funcion\u00f3 perfectamente, sin cuelgues.<\/p>\n<p>As\u00ed pues, si teneis un disco de este tipo y os da problemas, probad a formatearlo desde el men\u00fa principal. Con un poco de suerte puede ser que se solucione (pero no os olvid\u00e9is de copiar antes los archivos que tuvieseis en el disco duro multimedia, ya que se perder\u00e1n por completo durante el formateo).<\/p>\n<p>Dado que la entrada me est\u00e1 saliendo algo larga parar\u00e9 aqu\u00ed y seguir\u00e9 con mis descubrimientos sobre el sistema de archivos, el entorno de desarrollo y otras hierbas en otra entrada.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Paseando por un centro comercial cualquiera acab\u00e9 dentro de una cadena de electrodom\u00e9sticos cualquiera, en la que hab\u00eda un interesante disco duro multimedia de 1 tera con conexi\u00f3n 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 &hellip; <a href=\"https:\/\/blog.rastersoft.com\/?p=217\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">Multimediando<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,7],"tags":[],"class_list":["post-217","post","type-post","status-publish","format-standard","hentry","category-cacharreo","category-tutoriales"],"_links":{"self":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=217"}],"version-history":[{"count":0,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/217\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=217"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}