Showing posts with label hardware. Show all posts
Showing posts with label hardware. Show all posts

2017-12-30

ZyXEL P660RT2 EE command line configuration (Ethernet)

ZyXEL P660RT2 EE is an old ADSL[2+] router that has been quite common in post-USSR/CIS countries.

This router permits to do some things (i. e. configuration and diagnostics) via command line (by Telnet; the default password is 1234).
E. g., you can set the Ethernet port mode manually.
$ telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.

Password: ****
Copyright (c) 1994 - 2010 ZyXEL Communications Corp.
P660RT2> ether driver config
Usage: driver config [0|1=auto|normal] [0|1=10|100] [0|1=HD|FD] <ch-name>
P660RT2> 
E. g., to set 10 Mbps full-duplex mode:
P660RT2> ether driver config 1 0 1 enet0
Then, maybe you want to reboot the router:
P660RT2> sys reboot
Connection closed by foreign host.
Or you can just exit the CLI instead:
P660RT2> exit
Connection closed by foreign host.
Notes:
  1. the <Backspace> key doesn't work as it should for the router's CLI, but you can use <←> (left arrow) key instead;
  2. after you enter the Ethernet configuration command, the router may become unresponsive for a couple (or dozen) of seconds;
  3. Ethernet configuration is saved into the non-volatile memory, and persists after reboot;
  4. incorrect configuration (or one incompatible with other network equipment) may result in the router becoming unresponsive, seemingly hung-up and unaccessible via its sole Ethernet port;
  5. you can reset it to the factory settings using the "RESET" button hole at its back;
  6. hence, please back up your current router configuration (e. g. via the router's web interface) before touching the settings.
References:
  1. ZyXEL Prestige 650M-6x ADSL Modem User's Guide
  2. ZyXEL P660RT2 EE manuals

ZyXEL P660RT2 EE manuals

ZyXEL P660RT2 EE is an old ADSL[2+] router that has been quite common in post-USSR/CIS countries.

Available manuals
DescriptionDocument URLInfo URL
Quick start guidehttp://download.from.zyxel.ru/download/84887071-3a11-4da9-97e0-cf5a3aa65770/P660RT2_QSG.pdfhttp://download.from.zyxel.ru/download/84887071-3a11-4da9-97e0-cf5a3aa65770/file_id.diz
User's guidehttp://download.from.zyxel.ru/download/d93a81bc-99b6-47c5-b8c7-09aaa696cf97/p660rt2_ee_ug.pdfhttp://download.from.zyxel.ru/download/d93a81bc-99b6-47c5-b8c7-09aaa696cf97/file_id.diz


Notes:
  1. the manuals are in Russian language;
  2. file_id.diz files contain the SHA256 hashes of the PDFs (and also some old and new download URLs).

Reference:

2017-12-29

ZyXEL P660RT2 EE firmware versions

ZyXEL P660RT2 EE is an old ADSL[2+] router that has been quite common in post-USSR/CIS countries.

Known FW versions
VersionArchive URLInfo URL
3.40(AXN.0)D0http://download.from.zyxel.ru/download/525e69ec-341d-46be-b594-484ec4378dbb/340AXN0D0.ziphttp://download.from.zyxel.ru/download/525e69ec-341d-46be-b594-484ec4378dbb/file_id.diz
3.40(AXN.1)D0http://download.from.zyxel.ru/download/2d13f8d6-241e-4cf9-b7f9-6a9974836d0a/340AXN1D0.ziphttp://download.from.zyxel.ru/download/2d13f8d6-241e-4cf9-b7f9-6a9974836d0a/file_id.diz
3.40(AXN.2)D0http://download.from.zyxel.ru/download/0c061795-afb5-4859-bade-80ccfbfef831/340AXN2D0.ziphttp://download.from.zyxel.ru/download/0c061795-afb5-4859-bade-80ccfbfef831/file_id.diz
3.40(AXN.3)D0http://download.from.zyxel.ru/download/a17310da-b9c7-402f-ab46-64a43ba09fc6/340AXN3D0.ziphttp://download.from.zyxel.ru/download/a17310da-b9c7-402f-ab46-64a43ba09fc6/file_id.diz
3.40(AXN.3)D0_20100617http://download.from.zyxel.ru/download/8b436301-004a-42c0-b698-563080eab1e2/340AXN3D0_20100617.ziphttp://download.from.zyxel.ru/download/8b436301-004a-42c0-b698-563080eab1e2/file_id.diz


Notes:
  1. the latest firmware version is 3.40(AXN.3)D0_20100617;
  2. file_id.diz files contain the SHA256 hashes of the ZIP archives (and also some old and new download URLs);
  3. usually, it's recommended to reset the router configuration after the firmware upgrade (you can find the "RESET" button hole at the back of the router).

Reference:

2016-12-31

Digital camera notes: Panasonic Lumix DMC-LX1

Panasonic Lumix DMC-LX1 is a portable digital camera.

Latest firmware version (known to me): "1.0A".

How to check it:
  1. set the mode dial to "P";
  2. press and hold together 2 buttons: "Stabilizer" ("hand") + "Up" (above the "MENU" button);
  3. turn the camera on (switch the power key from "OFF" to "ON");
  4. release the buttons (2);
  5. set the mode dial to "Play" position;
  6. if there's no detailed image information on the screen, press the "DISPLAY" button a few times, until it displays it;
  7. press (and release) 2 buttons together: "Stabilizer" + "Down" (below the "MENU" button);
  8. you should see 3 text lines of debugging info, and the 1st one contains the FW version info; e. g.: VER 1.0A:0000 means FW version "1.0A";
  9. turn the camera off (switch the power key from "ON" to "OFF").
Unfortunately, no known FW updates found :(

External links:

Digital camera notes: Fujifilm FinePix T500

Fujifilm FinePix T500 is a mobile digital camera.

Latest firmware version (known to me): "1.00".
How to check it: turn the camera on (press the power button) while holding the "DISP/BACK" button.
Unfortunately, no known FW updates found :(

External links:

Digital camera notes: Sony MHS-CM5

Sony MHS-CM5 is a mobile HD camera.

Short specs:
video [MP4] resolution:
up to 1080p30 / 720p60 (1920x1080@30 fps, 1280x720@60 fps, 1280x720@30 fps etc.);
photo [JPG]:
up to 5 MP (max. 2592x1944).

Firmware notes.
  • Latest firmware version (known to me): "1.21".
  • How to check it: turn on the camera (open the LCD screen), and then quickly press and hold the "MENU" button; you'll see the FW version in the bottom right corner of the screen.
  • Firmare update file is usually named "SDV5591S.bin".
  • Quick firmware analysis suggests this Sony camera contains some hardware by Ambarella, which makes it somewhat related to GoPro.

Misc. notes. Sony PMB (Picture Motion Browser) software is abandoned. You can now use that partition of the camera's internal flash memory to store any other useful data ;)

External links:
---
Last updated: 2019-04-24

2016-11-23

2016-06-09

HOWTO: fix mic settings on Acer Aspire 3810T notebook in Linux

Once upon a time... You try a Linux Skype version (e. g., 4.3.0.37-1 for Debian) on Acer Aspire 3810T notebook and no sound is heard from the internal microphone.

The microphone is not muted in AlsaMixer (alsamixer); in PulseAudio Volume Control (pavucontrol) mic looks OK too.

Let's record some mic sound using Audacity audio editor... Here is a screenshot:
As you can see, the right channel ("R") is simply inverted left channel ("L"); let's call that "R=-L".

Let's look at the system environment details...
$ uname -a
Linux Notebook1 4.5.0-1-amd64 #1 SMP Debian 4.5.1-1 (2016-04-14) x86_64 GNU/Linux

$ cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version k4.5.0-1-amd64.

$ dmesg | grep Acer
[    0.000000] DMI: Acer Aspire 3810T/Aspire 3810T, BIOS V1.28 08/10/2010
...

$ dmesg | grep snd_hda_codec_realtek
[    3.796475] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC269: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[    3.796496] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.796510] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
[    3.796522] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[    3.796531] snd_hda_codec_realtek hdaudioC0D0:    dig-out=0x1e/0x0
[    3.796540] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[    3.796550] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
[    3.796559] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12

$ dmesg | grep HDA
[    3.854039] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card0/input13
[    3.855277] input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input14
[    3.855365] input: HDA Intel Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input15
[    3.855451] input: HDA Intel HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input16

$ cat /proc/asound/pcm
00-00: ALC269 Analog : ALC269 Analog : playback 1 : capture 1
00-01: ALC269 Digital : ALC269 Digital : playback 1
00-03: HDMI 0 : HDMI 0 : playback 1

$ cat /sys/module/snd_hda_intel/parameters/model
(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
Nothing interesting, except the Realtek ALC269 audio codec.

Thus, it's time to look at the microphone itself.
Terminal markings (DATA, VDD, CLK, GND) suggest it's a digital microphone (not analog one), and it looks like a mono (1-channel) one.

Fortunately, there is a way to fix the problem: you should create a modprobe configuration file with appropriate settings for Intel HDA driver kernel module.

If you're interested, you can get some info about some kernel modules:
$ /sbin/modinfo snd-hda-intel
...
$ /sbin/modinfo snd-hda-codec-realtek
...
But let's get back to the configuration.
Create, e. g., a /etc/modprobe.d/sound.conf file and put an appropriate configuration string (i. e., options snd-hda-intel model=MODEL, where MODEL is a specific model string) into it:
$ sudoedit /etc/modprobe.d/sound.conf
...
Let's try some model names that look usable.
  1. "laptop-amic".
    Some minor changes in dmesg output:
    $ dmesg | grep snd_hda_codec_realtek
    ...
    [    3.803435] snd_hda_codec_realtek hdaudioC0D0:    inputs:
    [    3.812954] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
    [    3.817411] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x19
    [    3.817414] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12
    
    And major effects on mic sound output:
    Yes, funny enough, it's a stereo low-level noise, and there's no intelligible sound (!); and that's not strange: "amic" stands for "analog microphone", so it's just a useless option for digital ones.
  2. "laptop-dmic".
    R=-L (no significant changes).
  3. "alc269-dmic".
    R=L.
  4. "alc271-dmic".
    R=-L (no significant changes).
  5. "inv-dmic".
    Some audio signal in the left channel, and no signal (zero level) in the right one (R=0).
Conclusion: "inv-dmic" represents the real configuration (if you want pseudo-stereo, you can also try "alc269-dmic"); so here is my suggested config:
$ cat /etc/modprobe.d/sound.conf
options snd-hda-intel model=inv-dmic

$ cat /sys/module/snd_hda_intel/parameters/model
inv-dmic,(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
External links:
      1. https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio-Models.txt
      2. https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt
      3. https://www.kernel.org/doc/Documentation/sound/alsa/alsa-parameters.txt
    1. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/sound/pci/hda/patch_realtek.c (kernel/git/torvalds/linux.git - Linux kernel source tree)
  1. ALSA - Debian Wiki
  2. HdaIntelSoundHowto - Community Help Wiki (Ubuntu)

2015-12-04

Hardware accident: Chinese LED lantern turned into a firework

Device brand / model: Yajia YJ-6812
Description: a Chinese lantern with 32 LEDs (quite bright really; 2 levels of brightness); rechargeable (no information on battery currently); without any external power adapters (plugged directly into AC socket by a simple 2-wire cable). Bought on a local Ukrainian (Vinnytsia city) market. The design somewhat reminds of a kind of grater.

2015-10-31

Hints: D-Link ADSL router: time to change the power adapter

Sample device: D-Link DSL-2640* (quite old combined ADSL modem / Ethernet switch / Wi-Fi router); should probably work for some other Linux-based routers with Broadcom chips.

Some trouble signs include: red power lights, not booting into the normal working mode (or booting into the recovery one) after power-on; slowing down of the operation, decrease of the performance & significant packet dropping rate; unexpected restarts etc.

Reliable internal software (firmware) symptoms — specific log strings get triggered, e. g.:
  • accessed via the web-based interface:
    System Log
    Date/TimeFacilitySeverityMessage
    ....
    Jan 1 00:01:23userwarn
    kernel: - Power glitch detected. Duration: 5 us
  • and via Telnet / SSH:
    ...
    > sh
    ...
    # dmesg
    ...
     - Power glitch detected. Duration: 6 us
    ...
    
    • Note: reportedly, some users also observe another diagnostic log message:
       - Power failure detected. ADSL Link down.
What to do:
  1. check the power cabling (and fix it, if needed);
  2. check the electrolytic capacitors:
    1. inside the power adapter,
    2. and in the router itself,
    3. and replace (resolder) the blown-up ones with new ones (paying attention to the nominal values, indeed);
  3. buy a new power adapter, if needed.
Safety notes:
  • BEWARE of electric shock.
  • Disconnect the AC power before opening the cases.
  • Some technical experience needed.
---
Last updated: 2015-11-30

2014-07-01

Firmware update downloads for some Samsung HDDs

Seagate acquired Samsung's HDD business back in 2011, nevertheless the existing firmware updates for some legacy Samsung HDDs are not available for download from the official Seagate site (look here).
So here are some firmware update download links collected from public sources :)

ModelFamilyFirmware version (latest known)Download
HD501LJSpinPoint T166CR100-13Dell / Drivers / R180581

Hints: how to upgrade customized Micron C400 SSDs to the latest generic firmware version

Important notes:
  1. DISCLAIMER: this guide is provided here only "just for fun" for experimental, research and educational purposes without any guarantees (or warranties, responsibilities, obligations, liabilities etc.; even no repeatability guaranteed, as this guide has been based solely on just one particular specimen device, sorry), so use it at your own risk (even more, the so-called "reverse engineering" can possibly be illegal in some areas);
  2. ATTENTION (DANGER): it can result in an irreversible destruction of ALL or ANY data stored on the target device (including the loss of important metadata like device usage statistics, but it's not wise to hope it will heal / recover / restore any worn-out memory blocks / chips or make the device good as new in performance) and, in theory, on some other storage devices -- please back up ALL the valuable data FIRST;
  3. CAUTION: it may even brick your device;
  4. WARNING: moreover, it may void the warranty, if any.
  5. Feel safe & free to enjoy! ;-)

2014-06-18

HOWTO: reload mouse driver in Linux

Sometimes your mouse device (it can be even a touchpad or a trackball) can unexpectedly get stuck [maybe it's a new bug that should be reported?!] in the middle of your work (or maybe it just didn't get recognized after plugging/unplugging/replugging it in).
In such cases, reloading the mouse driver may help (e. g., for PS/2 mouse driver, Linux kernel module is called "psmouse"):
# modprobe -r -v psmouse
# modprobe -v psmouse
You can also get info on any kernel driver modules installed in your system to support different mouse types (e. g., for serial mice, the kernel module is called "sermouse"), and also check if it's currently loaded:
$ ls /lib/modules/$(uname -r)/kernel/drivers/input/mouse
...  sermouse.ko  ...
$ /sbin/modinfo sermouse
...
$ lsmod | grep sermouse
...
Notes:
  1. you can check the dmesg log for any strange symptoms:
    $ dmesg | grep psmouse
    ...
    [    9.0123456] psmouse ... lost synchronization, throwing 2 bytes away.
  2. the trick will fail if the needed kernel module is built-in (probably only reboot can help);
  3. sometimes it's some X11 driver which causes problems (please check /var/log/Xorg.0.log);
  4. if you use your mouse in console mode, perhaps it's good to check the post about gpm.
---
Last updated: 2016-05-20

2014-06-10

HOWTO: work around SATA HDD hotplug problem (in Linux)

Sometimes some SATA controllers do not recognize an attached HDD if it was hot-plugged after the Linux system has been booted. Fortunately, there're some simple workarounds (note: it should work for some PATA controllers too).
  1. A standard "soft" solution (should work by default):
    1. Connect the HDD to the SATA controller (and make sure it doesn't get auto-recognized by the system).
    2. Force a rescan of SCSI buses:
      # for h in /sys/class/scsi_host/host*/scan; do echo "- - -" > $h; done
    3. Ensure the drive has been recognized (check the dmesg logs, run lsblk etc.) and enjoy it!
  2. A more "aggressive" method
    (note: some old SATA controller made by VIA Technologies and managed by sata_via kernel driver is used here for sample purposes; should work with any recent 2.6+ Linux kernel versions):
    1. To prevent any data loss, flush caches & unmount all the mounted partitions for all the drives connected to any VIA SATA controller(s) installed on the affected system!
    2. Remove the kernel driver module (verbosity is helpful sometimes):
      # modprobe -v -r sata_via
    3. Physically attach (or detach) any drives to the VIA SATA controller.
    4. Re-insert the kernel module:
      # modprobe -v sata_via
    5. Enjoy!
References:
  1. Scanning Storage Interconnects - RHEL7 Storage Administration Guide
---
Last updated: 2014-06-20

2013-12-27

Cool method to test analog & digital (DVB-T) TV receivers?

There seems to be a cool unconventional method to test your analogue (PAL / SECAM) or digital (DVB-T) TV receiver (set-top box, unit, tuner etc.);
all you need is a PC running Linux with X11 and a video card with analog VGA output (preferably not very old one),
just read the following article (by Fabrice Bellard, 2005):
(I've not tested it personally yet, but it looks promising enough).

2013-10-08

Seagate: download finder

Just in case you're looking for downloads for your Seagate product (i. e., HDD firmware updates, manuals & software), here's a useful link:

2013-10-04

MS Windows installation on Sun / Oracle computer with SPARC CPU (video tutorial)

MS Windows XP & 7 (and more): installation on Sun Fire V240 server (with UltraSPARC IIIi CPU) — video tutorial (in Russian) :-)

2013-08-31

HOWTO: configure the OS to use a 100 Hz refresh capable CRT monitor in Linux

  • Test environment.
    • Hardware
      • Monitor: Samsung SyncMaster 959NF
        • Test display resolution: 1024 * 768 @ 100 Hz
      • Video card: based on Nvidia GeForce2 MX400
        $ lspci | grep -i nvidia
        01:00.0 VGA compatible controller: NVIDIA Corporation NV11 [GeForce2 MX/MX 400] (rev b2)
      • CPU: x86-compatible (some old AMD Athlon one)
    • Software
      • OS: Debian GNU/Linux 7.0 "Wheezy" / i386
      • Video driver: nouveau
  • X11 graphical mode configuration.
    1. Use cvt utility to generate a modeline for X11:
      $ cvt 1024 768 100
      # 1024x768 99.97 Hz (CVT) hsync: 81.58 kHz; pclk: 112.25 MHz
      Modeline "1024x768_100.00"  112.25  1024 1096 1200 1376  768 771 775 816 -hsync +vsync
      
      Note: 100 Hz is a non-standard refresh rate for CVT.
      If CVT timings don't work for some ancient monitor, you can also try to use gtf utility to generate somewhat older GTF timings:
      $ gtf 1024 768 100
      
        # 1024x768 @ 100.00 Hz (GTF) hsync: 81.40 kHz; pclk: 113.31 MHz
        Modeline "1024x768_100.00"  113.31  1024 1096 1208 1392  768 769 772 814  -HSync +Vsync
      
      
      Both cvt & gtf utilities are part of xserver-xorg-core Debian package.
    2. Change X11 settings by putting the generated modeline into the proper section of the /etc/X11/xorg.conf file:
      Section "Monitor"
          Identifier     "Monitor0"
          VendorName     "Samsung"
          ModelName      "SyncMaster"
          HorizSync       30.0 - 110.0
          VertRefresh     50.0 - 160.0
          Option         "DPMS" "true"
          Modeline       "1024x768_100.00"  112.25  1024 1096 1200 1376  768 771 775 816 -hsync +vsync
      EndSection
      
      Section "Screen"
          Identifier     "Screen0"
          Monitor        "Monitor0"
          DefaultDepth    24
          SubSection     "Display"
              Depth       24
              Modes      "1024x768_100.00"
          EndSubSection
      EndSection
    3. Restart the X server for updated configuration to take effect.
  • Here are the sample settings for non-X11 user interfaces, put into /etc/default/grub (the GRUB2 config).
    For modified settings to make effect, don't forget to execute update-grub2 as superuser and then reboot.
    ...
    GRUB_CMDLINE_LINUX="video=VGA-1:1024x768M@100"
    ...
    # The resolution used on graphical terminal
    # note that you can use only modes which your graphic card supports via VBE
    # you can see them in real GRUB with the command `vbeinfo'
    GRUB_GFXMODE=1024x768
    ...
    Notes:
    1. The Linux command line option mentioned aboves allows to set a desirable video mode for virtual console using kernel mode setting (KMS).
      There's more info about KMS settings on nouveau Wiki.
    2. Display refresh rate doesn't seem to be specifiable for GRUB bootloader graphical mode. This initial graphic mode depends heavily on VBE.
    3. Other caveats: video play in console framebuffer (i. e., using mplayer) has not seemed to work for me in this test setup.

See also:

2013-05-09

HOWTO: get hardware sensors info (temperature, fan speed, voltage etc.) in Linux

(Tested in Debian Wheezy).
  1. Install the lm-sensors software package:
    # apt-get install lm-sensors
  2. Run the interactive hardware monitoring chip detection script:
    # sensors-detect
    Usually, it asks a lot of questions, and you can automatically answer 'yes' on them (but be careful: on some systems a full scan can cause some problems, e. g., a false chip detection or even a system hang):
    # yes | sensors-detect
  3. After choosing to add the needed module names automatically to the /etc/modules config file, it's good to check it for duplicate entries (and possibly other garbage).
  4. Reboot (or try to load the newly added kernel modules manually).
  5. Finally, just execute the following command to print the sensors information:
    $ sensors