# IT # Hardware Random notes about hardware. # Windows 10 drivers for AMD 740G chipset (AMD Radeon 2100, both 32- and 64bit) **NOTE:** Despite the publish date, this note is originally from December 2017. If you've tried to install **Windows 10** on an older setup that runs on **AMD 740G** chipset (which integrates **ATI Radeon 2100** graphic chip), you might have run into the issue where Windows 10 fails to locate proper drivers for the integrated GPU and it uses generic graphics adapter driver instead, which is only able to run 1024x768. I have found deep in comments on some IT news site someone mentioning they got it running through Windows 7 drivers for an MSI motherboard with the same chipset (I myself tried a lot of different drivers for Windows 7 from Gigabyte, neither of them worked and one of them even bricked my whole setup). Anyway I tested bunch of MSI drivers and found working ones. This was tested and works on: **Gigabyte GA-MA74GM-S2**, rev. 3.0 (hardware ID is `PCI\VEN_1002\DEV_796E\SUBSYS_D0001458\REV_00`). Frankly, I don't remember the exact source for these drivers, but they are from the [MSI website](https://www.msi.com/), downloaded as Windows 7 chipset drivers for a random MSI motherboard with 740G, so you can try to re-find them if you don't trust this unknown blog with bunch of articles written in weird language running on basic WordPress. Though it does look more trustworthy than `www.download-every-single-driver-in-the-world.com`, doesn't it? No, seriously, I will try to eventually cite the proper source. **Edit:** Someone found it and posted the links in the [comments](#comment-21401), feel free to download directly from MSI. If this have helped you, please note in the comments which motherboard have you used with these drivers so others can find this easily as well: **Where to download the drivers:** - From [msi.com](https://www.msi.com/Motherboard/740GMP21/support#down-driver&Win7%2064) (follow Driver -> Win7 x64 → System & Chipset Drivers → ATI System Drivers for RS690/RS740) - Or you can use direct link: `http://download.msi.com/archive/mb/dvr_exe/amd_690_740_7_mb.zip` - My local mirror: `radeon-2100-windows-10-drivers.zip` yet to be uploaded (never trust drivers randomly from the internet, though!) ### How to install this driver? 1. Pres `WinKey + R`, type in `devmgmt.msc` and Enter (or simply access the _Device Manager_ any way you like) 2. Expand the option `Display adapters` 3. Right-click on the graphics adapter and select `Update Driver Software...` 4. Select the option `Browse my computer for driver software` 5. Point the path into the folder you just unzipped from the drivers you had just downloaded. 6. Keep clicking `Next` until the end, and then restart the computer ### Known issues I have ran into an issue when the computer has two separate LCDs plugged in (into the VGA and DVI port). On those computers, some (not all) of the graphic elements in Windows 10 are blurred (as if the displayed pixels don't match the physical pixels). It only happens with desktop icons and some of the settings. I have spent another afternoon on this after finally I gave up. Tried everything and nothing works. However even if you really need to run two displays, it's just a little annoying but totally can be lived with. All the other computers that have only one screen attached run perfectly. If anyone manages to find out what might cause this and how to fix it, please let me know in the comments! # Brother QL-600 Label Printer ### Brother QL-600 as a native system printer in macOS Brother only offers to use their software to print labels via their P-Touch Editor ([macOS App Store](https://apps.apple.com/us/app/brother-p-touch-editor/id1453365242?mt=12)) without having to install the Brother as a system printer in System Preferences, which is fine for random regular labels. But sometimes you have the .pdf file with a shipping label that you want to print directly from Preview (CMD+P). I have found this driver to work, albeit I have no clue where it they from, since I could not find it on Brother's website. **Link to drivers:** `https://oemdrivers.com/printer-brother-ql-600` (my mirror: [Brother_Printer_Drivers.zip](https://kb.jiripavlik.com/attachments/1)) The hoops some jump through to print a simple shipping label are downright ridiculous and 100% not necessary: [![brother-ql-600-label-printer-macos-drivers.jpg](https://kb.jiripavlik.com/uploads/images/gallery/2022-03/scaled-1680-/brother-ql-600-label-printer-macos-drivers.jpg)](https://kb.jiripavlik.com/uploads/images/gallery/2022-03/brother-ql-600-label-printer-macos-drivers.jpg) # IP cameras Notes and reviews for random IP cameras, usually in regard with their use with ZoneMinder DVR. # IP camera Techage TA-XM-608GP-AI-30 (3MP) ### Specifications - **Full AliExpress name:** *Techage H.265 3MP Two Way Audio POE IP Camera IP66 Waterproof Outdoor Video CCTV Security Surveillance Camera for POE NVR System* - Bought on **[AliExpress](https://s.click.aliexpress.com/e/_ApHUVD), at the time for $35** (shipped from EU warehouse) - **Model:** `Techage TA-XM-608GP-AI-30` - **Lens:** `3.6 mm` - **Power:** either 12 V DC, or 48V PoE - **Default login:** `admin`/`null` - **Administration:** requires Internet Explorer + ActiveX plugin - **Resolution:** on the sticker 3MP, but within the settings the highest resolution is actually **4MP** at `2560x1440` (so something like 3.6 megapixels, also called 1440p or QHD) - **Framerate:** 1-25 fps (can be adjusted) ### Worth mentioning - This camera can do both H264 and H265 (HEVC) stream. When the codec is set to H.265X, the stream is actually x264 (and H265 is actual x265). - The stream carries wrong aspect ratio metadata (should be 16:9, but it's actually 64:27). See `ffprobe` output bellow. Can be fixed without re-encoding, but it's annoying. - There is some (2-way) speaker that was always buzzing. I cut it off. NOTE: Other Techage camera was the same way, but only when powered on by 12 V. When powered over ethernet (POE) it was quited. So POE is preffered way of powering. - Default IP is `192.168.1.10` with DHCP disabled. ### RTSP stream URL for ZoneMinder or VLC: ```bash rtsp://192.168.1.150:554/user=admin_password=tlJwpbo6_channel=1_stream=0&protocol=unicast.sdp?real_stream ``` ### Random settings: ```bash # In-camera setting: "H.265X" + "4MP" Video: h264 (High), yuvj420p(pc, progressive), 2560x1440 [SAR 4:3 DAR 64:27], 25 fps, 10 tbr, 90k tbn # In-camera setting:"H.265" + "4MP" Video: hevc (Main), yuvj420p(pc), 2560x1440 [SAR 4:3 DAR 64:27], 25 fps, 10 tbr, 90k tbn # In-camera setting: "H.265X" + "3MP" Video: h264 (High), yuvj420p(pc, progressive), 2304x1296 [SAR 4:3 DAR 64:27], 25 fps, 10 tbr, 90k tbn ``` ### Fixing the wrong aspect ratio without re-encoding With ZoneMinder's pass-through recording, for some reason my camera's raw footage is saved with a 64:27 aspect ratio. This means that it is a bit more noodly than it should be. This is fairly easy to fix with ffmpeg: ```bash ffmpeg -i in.mp4 -aspect 16:9 -c copy out.mp4 ``` Since I couldn't get ZoneMinder to force this parameter (`-aspect 16:9`) directly this as it saves the stream, I use this quick and dirty solution that runs via crontab every hour or so and fixes the recordings for me: ```bash #!/bin/bash # FIND ALL MP4 in /CCTV/1 OLDER THAN 60 MIN BUT YOUNGER THAN 4 HOURS (ASSUMING SCRIPT WILL RUN EVERY UNDE 4 HRS) # CHECK WITH FFPROBE WHETHER THE FILE HAS BEEN FIXED YET # IF NOT, FFMPEG WITH proper AR CCTVDIR=/cctv/1 while IFS= read -r input; do ffprobe "$input" &>/tmp/ffprobe-techage.txt filecheck=$(cat /tmp/ffprobe-techage.txt | grep Stream | grep 16:9) if [ -z "$filecheck" ]; then echo "Recording "$input" needs to be fixed. Proceeding..." oldname=$(basename "$input") fixedname=fixed-$(basename "$input") directory=$(dirname $input) ffmpeg -i "$directory"/"$oldname" -aspect 16:9 -c copy "$directory"/"$fixedname" :554/user=admin_password=tlJwpbo6_channel=1_stream=0&protocol=unicast.sdp?real_stream ``` ### Random settings: ```bash # H265X + 5M + Best + SmartEncode: Closing Video: h264 (Baseline), yuvj420p(pc, bt709, progressive), 2880x1616, 20 fps, 20 tbr, 90k tbn # H265X + 5M + Best + SmartEncode: H265X Video: h264 (Baseline), yuvj420p(pc, bt709, progressive), 2880x1616, 20 fps, 20 tbr, 90k tbn, 40 tbc # H265 + 5M + Best + SmartEncode: H265+ Video: hevc (Main), yuvj420p(pc, bt709), 2880x1616, 20 fps, 20 tbr, 90k tbn, 20 tbc # H265X + 4M + Best + SmartEncode: H265X Video: h264 (Baseline), yuvj420p(pc, bt709, progressive), 2560x1440, 20 fps, 20 tbr, 90k tbn, 40 tbc ``` ### Sample footage Will add at some point. Do not recommend, the resolution is high, but the image quality seems to be upscaled from 1080p at best. This is confirmed by one of the reviews at AliExpress: "In short, the quality of Techage has ended, I will not take anything else here. The module in this camera ivg-g5 marking gk7605v100. but the matrix here 2 MP and resolutions 5 and 4 MP interpolate from it. Hanged instead of the old one and immediately it became clear that something was wrong, the vertical coverage field decreased strongly, and the clarity of the details disappeared, the picture was soap." # IP camera TP-Link Tapo C110 ### Specifications - **Model:** `TP-Link Tapo C110` - **Lens:** `? mm` - **EAN:** 4897098682760 - **Power:** 9V adapter - **Resolution:** 2304x1296 (3 MPX] - **Framerate:** 15 fps ### Worth mentioning - Video feed can be viewed from anywhere over the Tapo app. ### RTSP stream URL for ZoneMinder or VLC: ```bash # NOTE: Login needs to be first set up in the Tapo app. rtsp://{username}:{passwrod}@{ip_address}:554/stream1 ``` ### Random settings: ```bash # Default settings (not sure if can be adjusted) Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 2304x1296, 697 kb/s, 14.99 fps, 20 tbr, 90k tbn, 30 tbc (default) Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, mono, fltp, 20 kb/s (default) ``` ### Sample footage Will add at some point. Overall very for interior monitoring (pets). # Networking # Ubiquiti USG - spoofing MAC address of the WAN port As of writing this guide (January 2019), there is no easy way to quickly spoof (clone) the MAC address on the WAN port. Which is ridiculous, because it's often the very first thing that needs to be done. Yet with the Ubiquiti USG, there is no simple way to do it in the controller's GUI, so I decided to write up this quick step-by-step recipe, since I haven't found one simple enough for people entirely new to the Ubiquiti's ecosystem (like I was), its Controller (note: no interaction with the controller is needed for this), etc. [![ubnt-usg-unifi-security-gateway.jpg](https://kb.jiripavlik.com/uploads/images/gallery/2022-03/scaled-1680-/ubnt-usg-unifi-security-gateway.jpg)](https://kb.jiripavlik.com/uploads/images/gallery/2022-03/ubnt-usg-unifi-security-gateway.jpg) Though I do assume you've used _ssh_ before. So, we have the **Ubiquiti UniFi Security Gateway** (USG) and we want to spoof (clone) MAC address of the WAN port – usually when you need to clone the address of the old router (otherwise the internet won't work). ### How to spoof MAC address of WAN port on the USG: #### 1. Log in directly into the USG using ssh You can use **Putty** on Windows, or **Terminal** on UNIX/macOS. To log in, **use credentials created during the initial setup** (these are different from UniFi Controller's login credentials – i.e. not the email). I am using Mac & Terminal. ```bash ssh admin@192.168.1.1 ``` After login, you will be welcomed by a UniFi text art, where there's one sentence worth noting: `Configuration changes made here are not persistent. They will be overwritten by the controller on next provision.` It basically says that anything we'll do here won't last past the device's next full reboot. I did not noticed that the first time, and the WAN's port MAC address returned to default when the USG's rebooted after the next firmware update few weeks later and suddenly the internet was down and I didn't know why. #### 2. Change the MAC address temporarily Theoretically you can go directly to step #3, but this is a good step to make sure you are cloning the correct MAC address to the correct physical port, and also it works immediately without needing to reboot the USG and Controller. So once you are in the command line, issue this sequence of commands: ```bash configure set interfaces ethernet eth0 mac 10:7B:EF:2F:3C:38 # of course change the MAC to yours commit save exit ``` The USG has three RJ45 ports, where the WAN port (the first one) is `eth0`, you can also change the MAC address of the other two ports as well by doing `eth1` (the default LAN port in the middle) or `eth2` (LAN/WAN port which is the furthest on the right). Now check if the new MAC address works. I am not sure how to check that, actually, I just ran `ping 1.1.1.1` in other Terminal window and waited until it started responding). If it does work, you can proceed to the final step #3: #### 3. Making the settings permanent The quickest way is simply to take this piece of json, edit the MAC address (to match the one above) and then save it somewhere as `config.gateway.json` file. { "interfaces": { "ethernet": { "eth0": { "mac": "10:7B:EF:2F:3C:38" } } } } It is recommend to double check the validity of the file, e.g. on [jsonlint.com](https://jsonlint.com/) to avoid any issues. Now place this file in the UniFi Controller's site folder. Depending on where you installed the controller, this most likely will be the directory named `default` in these locations: - **Windows:** `C:\Users\\Ubiquiti UniFi\data\sites\default` - **Linux:** `/usr/lib/unifi/data/sites/default` - **Mac:** `~/Library/Application Support/UniFi/data/sites/default` - **Cloud Key:** `/srv/unifi/data/sites/default` If it's not there, just look for the `sites` directory with `find / -type d -name "sites" -print 2>/dev/null`. That's all. Now the MAC setting will be loaded even after a full reboot. You can test and verify that everything works as it should by forcing provision (described [here](https://help.ubnt.com/hc/en-us/articles/215458888-UniFi-How-to-further-customize-USG-configuration-with-config-gateway-json#4)), tl;dr: `UniFi Controller Devices > USG > Config > Manage Device > Force provision`, or by simply rebooting the USG. The json file is basically for pieces of settings that cannot (yet) be done through the UI (i.e. through the Controller). It is all well described in the [official documentation](https://help.ubnt.com/hc/en-us/articles/215458888-UniFi-How-to-further-customize-USG-configuration-with-config-gateway-json). # Apple # Self-hosted iOS photo backup over WiFi ### Candidates to try - https://github.com/alextran1502/immich - PhotoSync https://www.reddit.com/r/selfhosted/comments/uaemhr/icloud_photo_replacement_automatic_photo/ # Random To be sorted out later