Friday, December 24, 2021

Switching between Kerberos & Unix Authentication mechanism

 I had installed kerberos by mistake on my local VM for skol linux and ever since it would allow to create  users but won't allow to change password. Actually I had no need of Kerberos and had selected the option by mistake while installing the VM. 

Now, even after removing all kerberos packages and rebooting, it still did not exit my system. So I wanted local unix authentication. 

Problems faced: allowing creation of new user, but not allowing to set password

The solution is to use pam-auth-update and the resulting menu will allow you to unselect kerberos and keep the unix authentication. 

unselect kerberos authentication, block password change unix users and suggest Gosa instead and you are good for setting password of local users using unix authentication

What to do if you forget your password and even root password?

 If you forget your password and even the root password, you can stare into a blank login screen not knowing what to do. Here is one break for that situation.

While you are at Grub , instead of clicking enter on your linux distribution or kernel, click E, this will take you to edit mode for starting of that kernel. Try to find one line with "quiet" in the end. At the end of this line append init=/bin/bash and press F10 to boot further into single mode. 

The single user mode directly takes you to the root user. type passwd root at the prompt to set the new password for root. 

If you get error like "Authentication token manipulation error" or if root@none:/ is shown at the prompt, then, type the following command

mount -o remount, rw/

this will remount the filesystem and will allow to change the root password. 

Thursday, December 23, 2021

wifi Tethering to VM on virtualbox

 The usual and most common method to pass internet to the VM from host network is to keep the adapter of VM in bridged mode and the internet connection of the host is shared to the VM whether VM is linux or windows

However, though this works without problem if the host internet connection is through wired medium(Ethernet). When host gets the connection through wifi, this method of bridge does not work. 

Soultion:

The solution is rather simple, in the guest VM settings in virtualbox manager, go to network and in Advanced settings, copy the mac address of the host wifi adapter(which you can get by going to network connections, and rt clicking the wifi adapter and then clicking status and noting down the MAC address) and paste it in the MAC address box replacing whatever was existing in the box.

This can be done only when the VM is offline. once done, check using ip address or ipconfig command in guest VM  and you would find that that the eth1 adapter in VM has already been allotted an ip address in same series as wifi adapter of host OS. ping google dns 8.8.8.8 and it should ping. open browser and check if it is opening google, if not, then just add DNS entry in VM which would be same  as gateway of WiFi dongle/router.

Wednesday, December 22, 2021

Getting internet via usb tethering(JIOfi) on Debian skol Linux VM created on virtual box & installing guest additions on it.

 The VM was created after downloading a iso file of Debian Blue ray iso and installing it to the VM.

Guest additions were required to run the VM in full screen, here is where problems started.

step1 : getting the usb tethered internet working

The Oracle virtual box does not support sharing of wifi connection (there is a trick, another blog post for that!) of host to guest, even if it supports, it is choppy at best, sometimes working, sometimes not working. 


I didn't have a wired connection of ethernet variety, so the only option left was to plug in USB of jiofi modem to laptop running windows 11 host. thereafter using the virtualbox (rt control key + home) menu, selected the USB modem (listed as Android) and made it visible to Debian VM. immediately, it got unistalled from windows and got connected to Debian. Drivers were added automatically.

The device was showing in command ip address( IPconfig is depreacted it seems) as usb0 and given an ip address. The jiofi uses 255.255.0.0 subnet mask. However, routing was messed up as the default routes all go to eth0, so this has to be disabled from the host first. (use vm manager, click on debian vm configuration and in Networks, select "Not Attached" in Adapter1).

The above step resolved all gateway issues etc and was able to ping the google dns 8.8.8.8. Browsing was still not going through, and therefore, had to add the jiofi DNS entry (which is same as gateway) manually in USB0 configuration.

Now, internet was working fine.

Step2: Install kernel headers

Follow this post

https://www.tecmint.com/install-kernel-headers-in-ubuntu-and-debian/

Step3: installing the guest additions

Follow this post 

https://linuxize.com/post/how-to-install-virtualbox-guest-additions-on-debian-10/


Skol Linux is very useful for school students with many apps for school subjects like physics, chemistry,maths,geography and also for topics like astronomy and music.


Sunday, November 21, 2021

Repair of HMI of Allen-Bradley 6181P-122TSXP no display problem

 1. HMI of Allen-Bradley 6181P-122TSXP


Fig 1: The HMI make & Model 

was not showing any display when powered up. This HMI is  used in Centrifuge. The cost of this machine is around Rs Seven Lakhs. 


2. Inserted a 4 digit PC motherboard diagnostic  card in the PCI  slot and powered up the machine, the numbers on digit display in card were changing and these numbers correspond to errors on mainboard. for ex, if the numbers stopped at 01 , implies the cpu has gone faulty or 2C implies bad memory etc. However, the number did not stop at these stages and continued up-to full boot. Therefore, it was concluded that boot process was normal and problem was in LCD display. The video


shows how it is done.


3. The LCD/LED display has two connectors coming from the mainboard , one is the 20 pin LVDS signal and other the power. 


Fig 2: The Motherboard showing power & LVDS connectors

The LVDS stands for low voltage differential signalling, and has three pairs differential signal and one pair of clock signals. The LVDS signals were verified with oscilloscope, and positive (up going signal in oscilloscope) and negative (down going signal in oscilloscope) was seen in the respective + and - pins in each differential pairs. The clock signal yielded a steady 4 MHz clock.


4. Thus, the problem appears to be that of backlight in LED display. The model of the display used is G12S1-L02. 


Fig 3: The LCD display panel G121S1-L02 showing the LCD2MB PCB

The datasheet of the display was also found on net and shared here. The backlight is provided by a string of LEDs which illuminates the LCD display. The power connector pin-out is shown here 


5. To access the backlight string of LEDs, the display was opened , and indeed, the backlight was not glowing. The LCD display has two PCBs one is LCD2MB pcb (shown in fig 3) which gets the power from the mainboard and supplies the +12V power,EN signal to the E88441 PCB which generates the actual timing,control and backlight voltage for driving the LCD and backlight LEDs. 


Fig 4: The LCD display opened revealing E88441 PCB containing the backlight controller

The LED display driver in E88441 PCB was identified by using 10X magnification on mobile camera and the part number noted down. Datasheet of this IC was downloaded. and can be viewed here


6. On studying the datasheet it was found that that pin # 28 of this IC had to be supplied with EN signal, which is a 5 v PWM signal, which can also control the brightness depending on PWM on time. The EN signal was being generated by the LCD2MB card in the display panel.  There is a touch point (TP) to verify the presence of this signal, which yielded no value with multimeter, so, this signal did not reach the display driver and failure was traced  to faulty resistors (R94,R82 & R104) on board.


Fig 5:  A8501 magnified 10x

7. The circuit in and around the LED driver IC U1 was traced with the help of multimeter continuity testing and all the required transistors and MOSFET identified and re-drawn on paper to understand the working. The circuit is given <here>


Fig 6: The backlight driver power save mechanism redrawn

8. It appeared that the resistors which were damaged were part of a 'power saving' mechanism to give reduced supply voltage of 10.73 V instead of 12 V to the display driver IC in the absence of EN signal.This mechanism was built around transistor Q7 and Q14 and MOSFET Q15 .  These resistors are 1% tolerance SMD resistors following the EIA-96 pattern of naming. The reistors which were damaged were marked as 70D, and 10S which have the value of  536K and 12.4 ohm respectively.


9. These resistors could not be sourced so a workaround was found to get the EN signal directly to IC U1 by shorting a path in PCB and bypassing the 'power save' circuitary by running the driver IC at 10.73 volts as is evident by seeing the circuit diagram traced above. The repair is shown in figure 7. The resulting voltage at LED backlight end was 20 V, which was sufficient to drive the backlight LEDs.



Fig 7: The soldered portion to supply EN signal directly to backlight controller

10. Assembled everything back, the display working ok.


Fig 8: HMI giving output after the repair

4. Annexure:-

4.1  For Full HD TV, 30 pin (10 pairs) connector is used. For HDTV, 20 pin (5 pairs--> 4 data pairs & 1 clock pair , 4 data pairs give 8 bits)  connector is sufficient. The three data pairs correspond to R,G,B signal and the fourth data pair is for B+Hsync and V.  For this particular 12 inch display 3 data pairs (Rin 0,1 & 2 corresponding to R,G,B) and one clock pair is used , the unused  1 data pair (Rin3 for B+Hsync & V) the + is connected to ground and - is NC. Therefore, 3 data pairs contribute 6 bits . The more number of pairs means more bits can be shown implying higher resolution. 


4.2 Youtube video about LVDS 


4.3 Some of the ICs identified in mainboard (DS90C385A-> LVDS serializer, Chrontel CH7308B--> PLL transmitter, ISL6262CRZ--> 2 phase buck converter) 


Fig 9 : 20 pin LVDS connector pin-out


Key Learnings:

1. Details of backlight LED driver IC and its working

2. LVDS signals and 4/6/8 bit differential signalling

3. EiA -96 1% resistor naming convention