전체 글: 218개의 글

[모니터/문제해결] 삼성 싱크마스터 TA350 - 흐릿하고 초점이 맞지 않는 출력 교정하기

by Blogger 하얀쿠아
2013. 8. 28. 00:57 NULL ptr/ NULL ptr

English Version Click me!

모델 소개 : SyncMaster TA350

내가 사회생활을 갓 시작하면서 거주했던 원룸에서 사용했던 TV모니터 중 특이한 녀석이 있었다. 

모델은 삼성 SyncMaster TA350. 원룸 전세로 들어갔더니 TV랍시고 제공되던 모니터였다.


HDMI 입력포트가 2개이며 d-sub 입력단자가 1개, 컴포넌트 입력단자가 1개인 모델.


컴포넌트 입력단자 덕분에 인터넷TV의 셋탑박스와 연결해서 사용하기 용이하여(응? HDMI가 더 용이해 임마...), 

과거 2011년~2014년 즈음 지어진 원룸건물에 건물주들이 대량으로 공급하는 모델이었던 걸로 추정된다.


제품은 아래와 같은 모습이다.



Samsung TA350 정측면 모습

Samsung TA350 뒷모습




PC연결시 화질 문제


그런데, 문제가 있다.

이상하게도 이 모니터를 PC와 연결하면

화면이 뿌옇게 되고, 번지듯이 보이는 증상, 색감이 뭉개지는 듯한 증상이 있었다.


화면이 뿌옇게 되고, 번지듯이 보이는 증상, 색감이 뭉개지는 듯한 증상이 있었다.




D-SUB로 연결했을 때는 그런 증상이 없는데,

HDMI 케이블로 HDMI 출력포트를 사용할 때만 그런 증상이 발생한다.



화면모드, 명암, 밝기, 선명도, 색농도 등

별의 별 설정을 다 바꿔봤지만 개선되지 않는다.


가독성이 떨어져서 도저히 모니터로 사용할 수 없을 정도의 출력 화질이었다.


하지만, 제품 매뉴얼에는 해결방법이 없었다.

그러나, 이 현상을 해결하기 위해서 시도해볼수 있는 아래와 같은 해결방법이 있다.


해결 방법! (모니터와 같이 제공되는 리모콘 필요)

 1. 리모콘의 "TV/외부입력" 버튼 누른다.

 2. HDMI/DVI 으로 맞춘다.

 3. "간편메뉴" 버튼을 누른다.

 4. "외부입력 편집" 에 맞추고 "확인" 버튼 누른다.

 5. 새로운 창이 하나 생성되는데, "DVI PC" 를 선택한다.


위 1~5 과정을 실시하고 나면, 모니터로 사용 할만한 출력이 되는 것을 볼 수 있을 것이다.


* 문제의 원인 : HDMI 입력 포트의 profile 개념으로 세팅하는 값이 "PC" 로 설정이 되어있지 않았다.







This is a solution for English users.

SyncMaster SA350 with HDMI not working 1920/1080

There are many complains regarding resolution could not fit the screen.


Complain 1

Hello I have a problem with my resolution.

I have a Nvidia Gefore GT 220 and a Samsung SyncMaster TA350 monitor connected to my pc using an HDMI cable.


My problem is when i want to change my resolution to 1920x1080p the display gets distorted


I don't know if it's a monitor problem or the problem comes from my pc (windows or Graphic card settings) 

Now i'm working on a 1680x1050p resolution now but i'm not satisfied with it (games, films...)

I think it's a monitor setting problem cause when i wanted to show you an image example of 1080p resolution and and changed back to 1680x1050p the image seems fine no distortion (hope you see what i meant)


I tried:

- to update my graphic card driver

- change windows settings

- change Nvidia settings

- change monitor setting



Anyone can help me please to solve my problem


Complain 2

This is my problem when I go with D-SUB connector its fine I can use 1920/1080 without any problem.

But If I want to use it with HDMI cable so I got 2x different HDMI cable and tried with 2x different computer and same problem everytime...

When I use HDMI cable with 1920/1080, its not fits the screen up down and both side seems small, so I'm just using it 1680/1050 with HDMI cable.

But I hope you can find a solution for me about this situation.



Solution

Thank you for purchasing the Samsung SA350 display.


When connecting via HDMI, please do the following to ensure the best possible picture quality:

1) Go to SETUP&RESET in the menu options

2) Under PC/AV Mode, choose PC if connecting a PC via HDMI. Choose AV if connecting an AV device like gaming console, cable box, etc.


This should produce a clear picture.


As for the black border you are getting around the edges, please be informed that this is not due to the monitor.


The issue lies with your GPU settings. Please go to the Catalyst Control Center of your PC. 

Look for "Overscan" and adjust the setting so that your image fills the screen. 


~Samsung_Monitor_PC


이 댓글을 비밀 댓글로
    • 김종수
    • 2013.10.01 20:53
    감사합니다.
    이런것도 모르고 새로 살까 하고 있었는데
    정말 저에게는 최고의 지식이었네요` ^^
    감사 또 감사해요
    • 이준석
    • 2013.10.13 13:51
    저는 간편메뉴를 누르면 외부입력 설정 같은건 뜨지않습니다 ㅠㅠ

    Anynet+ (HDMI-CEC)라는것만 뜨는데 어떻게해야될지를 모르겠습니다.
    • 관련 삼성전자 서비스센터에 문의를 해보심이 빠를 것 같습니다. ^^;
      • 최운영
      • 2013.11.04 11:43
      처음에 리모콘으로 외부설정 누르면 좌측 상단에 tv pc 컴포넌트 등등 뜨잖아요 예를 들어 님이 hdmi dvi단자에 케이블을 꼽으셨다면 외부설정 눌렀을때 hdmi dvi가 나오거든요 리모컨 방향키눌러서 거기에 맞춘다음 간편메뉴를 눌러보세요
    • 유니
    • 2014.02.17 23:15
    정말 감사합니다...이것저것 다해보다가 이거보고 해결했네요~ 감사합니다~
    • 조준희
    • 2016.05.14 22:10
    정말 감사합니다. 이 글을 보고 케이블을 사도 안 되던 것이 5년 만에 1050에서 1080으로 바뀌었습니다.
    • 고마워요
    • 2017.05.02 15:33
    고마워요 덕분에 모니터 해상도 설정을 할 수 있었어요 고맙습니다
    • 고마워요
    • 2017.05.02 16:14
    하지만 그래도 뿌연 화면과 글자가 조금 깨지는 듯한 느낌을 지울 수가 없네요 확실히 분명하게..

    hdmi 말고 아날로그 단자로 연결했을 때는 이러지 않았는데..ㅠ
    • 안녕하세요. 제 글이 도움이 되셨다니 다행입니다. 삼성전자 싱크마스터 TA350은 D-SUB(아날로그) 로 연결할 때는 이런 문제가 없지만, HDMI로 연결할 때 이런 문제가 발생하는 특징이 있더라구요.

      TA350이 PC용 monitor가 아니라, TV에 초점을 맞춰서 출시된 제품이라 그런 것 같습니다.

      만약 모니터 네귀퉁이에 검은색 테두리가 보이는 상태라면, 윈도우(혹은 리눅스나 MAC OS등 사용하고 계신 운영체제)에서 그래픽카드 세팅을 통해 좀더 선명하게 맞추도록 시도해보세요.
      제어판 등에서 사용하고 계신 그래픽카드의 설정메뉴가 있을 텐데요, (nVidia, Radeon 등) '오버스캔' 설정과 관련된 항목을 찾으신 후, 화면을 채우도록 조정해볼 수 있을 것 같습니다.
    • 빈이
    • 2017.11.06 15:32
    이런 꿀정보도 모르고 불만족스러워 하면서 보낸 세월이 어언 5년..
    개발 일을 해서 사놓고 제대로 쓰지도 못하고 집에 방치했던 모니터가
    하얀쿠아님 덕분에 부활했습니다.
    정말 옆에 계셨다면 뽀뽀라도 해드렸을것 같습니다.

    참고로 이 기능은 리모콘이 없으면 접근이 불가능한 메뉴로 보이는군요.
    저처럼 리모콘까지 내팽기친 분이 계시다면 앱으로 리모콘 받아서 하심 됩니다. 후훗

    하얀쿠아님 진심 짱임.
    • 방치해뒀던 모니터가 부활했다하니, 저도 덩달아 기분 좋습니다 ^^
      단, 뽀뽀는 아니되옵니다.. 빈이님 옆에 있지 않아서 다행입니다.ㅋ
    • ㅁㄴㅇ
    • 2018.07.07 17:15
    와 진짜 너무 감사합니다. 모니터 하나 새로 살 뻔했는데, 선생님 덕에 돈 아낍니다. 감사해요!
    • 해결사님감사합니다
    • 2018.07.07 19:38
    와 진짜 감사드립니다. 이 정보를 모르고 정말 그동안 모니터 욕하면서 썼는데 훨씬 가독성이 나아졌어요!!! 정말 복받으세요!! 감사합니다!!!!
    • 감사합니다.
    • 2018.09.29 19:19
    감사합니다.
    덕분에 해결했습니다.
    다만, 이렇게 설정하면 모니터 스피커 소리(HDMI)가 나오지 않습니다.

    DVI PC 연결말고 그냥 PC로 연결하면 스피커 사용가능하구요,
    꼭, DVI PC로 연결하시고 싶으시면 음성입력단자에 컴퓨터와 별도로 연결하면 될것같습니다.
    • 국브
    • 2018.10.03 22:25
    와 제가 이걸모르고 별에 별짓을 다해봐도 눈이 너무 피곤해서 모니터 바꾸려고했는대..

    검색해보니 글이있어서 읽고 따라해봣는대 정말 좋네요 ㅎㅎ

    감사함니다 ㅎ
    • 하찌
    • 2019.03.16 18:24
    감사합니다 덕분에 잘해결했습니다 !!
    • asdf
    • 2020.12.12 12:25
    정말 감사합니다..ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ검색해보길 잘했어요 글쓴님덕분에 편하게 쓰게됐습니다!!ㅠㅠㅠ
    • 도와주세요
    • 2021.01.27 17:07
    리모컨이 없다면 어떻게해야할까요
    • 당근
    • 2021.06.16 20:37
    감사합니다 .화면이 선명해서 눈이 편한합니다.
    이글을 많이 보았으면 좋겠네요. 건강하세요^^

Update List scheduled for v2.0

by Blogger 하얀쿠아
2013. 5. 22. 12:51 수행 프로젝트 이력/한기대App (Android App) [2010.12~ ing]

익명게시판 - URL, URI (Telephone) Link 

공지사항 - Koreatech mobile web parsing

식단 - Home screen widget

이 댓글을 비밀 댓글로

[우분투] 컴퓨터이름 변경하기

by Blogger 하얀쿠아
2013. 5. 15. 18:08 소프트웨어 Note/Linux

[우분투] 컴퓨터이름 변경하기


우분투 리눅스가 설치된 컴퓨터의 이름 바꾸는 방법이다.

한글로 컴퓨터이름을 지정했다가 여러가지 이유로 인해, 영어 이름으로 변경해야 할 경우가 생기곤 한다.


아래 방법을 따르면 쉽게 변경할 수 있다.

 

Ex)

유저네임@유저네임-desktop:~&  -> 유저네임@desktop:~&

 

 

 

수정해야 할 곳은 2곳이다.


 

/etc/hostname 에서 이름을 변경한다.


그리고 다음 명령 수행한다.


hostname -F /etc/hostname


 

/etc/hosts 에서 "ip 컴퓨터이름" 에서 컴퓨터이름 부분을 변경한다.


이후 아래 명령을 수행한다. 


sudo /etc/init.d/hostname.sh stop
sudo /etc/init.d/hostname.sh start

sudo shutdonw -r now

 

 

이 댓글을 비밀 댓글로

[Java/SWT] 그래픽스 컨텍스트 (Graphics Context)

by Blogger 하얀쿠아
2012. 12. 7. 21:59 소프트웨어 Note/Java

1. GC(Graphical Context) 클래스는 SWT의 그래픽엔진의 코어를 형성한다.

2. GC는 도형, 텍스트, 이미지를 그리는데 필요한 모든 메소드를 제공한다.

3. 컨트롤, 디바이스 또한 다른 이미지 위에 그릴수 있다.


일반적으로 그리기 라이프사이클은 다음과 같이 구성된다.

1. 그리려고 하는 대상의 GC를 생성하거나 얻음.

2. 그린다.

3. GC를 생성했다면, 소멸시킨다.


코드로 보면 다음과 같다.

GC gc = new GC(display);
gc.drawRectangle(...);
gc.drawText(...);
gc.drawImage(...);
gc.dispose();


일반적으로 paint handler에 그리기 코드를 넣는다.

final Canvas canvas = new Canvas(shell, SWT.NONE);
canvas.addPaintListener(new PaintListener() {
	public void paintControl(PaintEvent e) {
		GC gc = new GC(canvas);
		gc.drawFocus(...);
		gc.drawText(...);
		gc.dispose();
	}
});



GC 생성 피하기

GC를 새로 생성하면 dispose() 를 해야한다.

새로운 GC를 생성하지 않고 PaintEvent객체의 내장 gc를 사용하면 이를 회피할 수 있다.

코드는 아래와 같다.


final Canvas canvas = new Canvas(shell, SWT.NONE);
canvas.addPaintListener(new PaintListener() {
	public void paintControl(PaintEvent e) {
		e.gc.drawFocus(...);
		e.gc.drawText(...);
	}
});





이 댓글을 비밀 댓글로

[SWT] 이벤트

by Blogger 하얀쿠아
2012. 12. 7. 21:39 소프트웨어 Note/Java

이벤트

1. SWT는 2가지 유형의 리스너를 제공한다. : untyped / typed

2. untyped 리스너는 보다 간단한 코드를 작성할 수 있게 한다.

3. typed 리스너는 보다 더 모듈화 된 디자인을 할 수 있게 한다.


이벤트모델

1. SWT는 옵저버 패턴에 기반한 이벤트모델을 사용한다.

2. 다수의 리스너를 등록하여 알림메세지를 보낼 수 있다.

3. SWT에서는, 위젯과 Display만 이벤트 리스너를 가질 수 있다.



Typed 이벤트 리스너

타입이 정해진 이벤트 리스너(typed listner)는 단지 한종류의 특정한 이벤트 타입에 대해서만 listen 할 수 있다. 예를 들면, SelectionListener 는 SelectionEvent 라는 이벤트타입에 대한 리스너 이다.

untyped 이벤트 리스너는 이벤트를 듣기위한, 보다 generic 하며, low-level의 메카니즘을 제공한다.



Untyped Events와 Untyped 이벤트 리스너

타입이 정해지지 않은 이벤트 리스너(untyped event listener)는 아무런 타입의 이벤트를 듣도록 등록할 수 있다. SWT는 untyped 이벤트를 위해서 두가지 종류의 클래스를 가지고 있다.


1. Listener 라는 이름의 인터페이스

2. Event 라는 이름의 이벤트 클래스




이 댓글을 비밀 댓글로

[리눅스/커널] 커널에서 자주 사용되는 매크로 : likely( ) / unlikely( )

by Blogger 하얀쿠아
2012. 11. 23. 17:04 소프트웨어 Note/Linux

커널에서 자주 사용되는 매크로 : likely( ) / unlikely( )

커널 소스를 보다보면 likely 또는 unlikely 메크로를 자주 사용하는 것을 볼 수 있습니다.


likely / unlikely macro가 어떤 의미를 가지는 매크로인지 궁금했어요.

그래서 알아보았죠.


커널 3.2 코드를 기준으로 likely / unlikely macro는 커널 소스에 다음과 같이 정의되어 있더군요.


소스위치는 ./include/linux/compiler.h


109 /*

110  * Using __builtin_constant_p(x) to ignore cases where the return

111  * value is always the same.  This idea is taken from a similar patch

112  * written by Daniel Walker.

113  */

114 # ifndef likely

115 #  define likely(x)     (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 1))

116 # endif

117 # ifndef unlikely

118 #  define unlikely(x)   (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))

119 # endif


볼드체로 표시된 부분을 주목해 보시죠.


likely 매크로 내부의 __builtin_constant_p  메크로는 branch prediction 정보를 컴파일러에게 알려주는 기능을 합니다.


쉽게 말하면, if문을 작성할 때 프로그래머가 컴파일러에게 '이 코드는 true(or false) 일 것 같다' 라고 말을 해주는 것과 같은 역할을 한다고 볼 수 있습니다.

컴파일러는 이 정보를 바탕으로 최적화된 branch 코드를 생성해 낸다고 하네요.


조금 전문적으로 말해볼까요.

likely / unlikely 매크로는 '수동 분기예측'을 하는 것인데, likely일것 같은 코드를 분기문의 바로 다음에 위치하도록 해서 CPU의 파이프라이닝이 계속 유효한 상태가 되도록 만들어주어 성능 향상을 도모합니다. 

참고로 x86프로세서는 성능을 높이기 위해서 파이프라인으로 동작하게 되는데요.

코드의 실행 중 분기문(branch)을 만나게 되면, 미리 fetch해온 코드를 flush 한 후, 분기할 곳을 다시 fetch하기 때문에 파이프라인이 깨져서 성능이 떨어지게 됩니다.


따라서 가능하면 분기를 하지 않도록 코드를 작성하는 것이 성능을 높이는데 도움이 됩니다.

이를 위해서 조건문이 true일 가능성이 높은지 false 일 가능성이 높은지를 프로그래머가 미리 컴파일러에게 알려주기 위해서 likely 또는 unlikely 매크로를 사용하는 것이죠.


조금 더 예제가 필요하시면, 아래 homepage를 방문해 보세요.


Kernel Newbies FAQ : https://kernelnewbies.org/FAQ/LikelyUnlikely

이 댓글을 비밀 댓글로
    • sejun
    • 2013.02.21 04:28
    잘 보고 갑니다.

    그런데 __branch_check_(x, expect) 메크로를 직접 분석하신 건가요;;?

    암호문처럼 써있는데 이런건 어떻게 해야 쉽게 분석이 가능할까요 ..

Concurrency Visualizer

by Blogger 하얀쿠아
2012. 11. 18. 23:07 소프트웨어 Note

Concurrency Visualizer View는 컴퓨터에서 멀티스레드 기반 어플리케이션이 자신,하드웨어,OS,다른 프로세스와의 상호작용 하는것을 볼수있게 한다.

이 뷰는 당신의 프로그램안과 시스템전체의 스레드들간의 임시적인 관계를 보여주는 그래픽,표, 텍스트 데이터를 제공한다.

당신은 Concurrency Visualizer를 성능 병목구간, CPU 자원낭비지점, 스레드 경쟁, 다중코어에서의 코어간 스레드 이동, 동기화 지연, overlapped I/O 영역 그리고 다른 정보들 에 위치시켜 사용할수 있다.

뷰는 당신이 그것의 그래픽출력을 콜스택이나 소스코드에 연결하는 등의 행위를 언제나 가능하도록 데이터를 제공한다

이 도구는 효율적인 워크플로우가 가능하도록 Visual Studio 2010 프로파일러에 통합되었다.


출처 : http://msdn.microsoft.com/en-us/library/dd537632(v=vs.100).aspx


참조 : http://blogs.msdn.com/b/visualizeparallel/archive/2010/07/30/diagnosing-lock-contention-with-the-concurrency-visualizer.aspx

이 댓글을 비밀 댓글로

Java에서 AES 128 암호화/복호화 구현

by Blogger 하얀쿠아
2012. 11. 16. 03:08 소프트웨어 Note/Java

AES 암호화


AES 소개

 1997년 1월에, 기존의 데이터 암호 표준, 즉 DES를 대체할 보다 강력한 알고리즘을 찾기 위한 공모 작업이 미국 상무부의 한 기관인 표준기술연구소(NIST)에 의해 시작되었다. 

 새로운 알고리즘이 충족해야 할 규격 요건으로는, 최소 128 비트나 192 비트 또는 256 비트 크기의 키를 지원하는 128 비트 크기의 블록 암호화를 사용한 대칭형 (암호화나 복호화를 하는데 동일한 키가 사용되는) 알고리즘으로서, 전 세계적으로 로열티 없이 사용할 수 있어야 하며, 향후 20년~30년 동안 데이터를 보호하기 위해 충분한 정도의 보안성을 제공할 것이 요구되었다. 

 또한, 이 알고리즘은 스마트카드 등과 같은 제한된 환경을 포함하여 하드웨어나 소프트웨어로 구현하기 쉬워야 했으며, 다양한 공격 기술에 대해서도 잘 방어할 수 있어야 했다.


 전반적인 선정 과정은 대중적 조사와 평가에 완전히 공개되었으며, 이러한 투명성으로 인해 제출된 모든 설계안들에 대해 최적의 분석이 가능하였다. 1998년에 NIST는 미국 안보국을 포함, 세계의 암호화 단체에 의해 기본적인 분석을 받게 될 15개의 AES 후보작을 선정하였다. 여기에 기반을 두고 1999년 8월, NIST는 보다 심도 있는 2차 분석을 받게 될 다음의 5개 알고리즘을 선정하였다.



MARS: IBM 연구소 제출 

RC6: RSA Security 제출 

Rijndael: 두 명의 벨기에 암호학자 Joan Daemen와 Vincent Rijmen 공동 제출 

Serpent: Ross Andersen, Eli Biham 그리고 Lars Knudsen의 공동 제출 

Twofish: Counterpane의 존경받는 암호학자 Bruce Schneier를 비롯한 대규모 연구팀 제출 



 위의 다섯 개 알고리즘은 모두 ANSI C와 자바 언어를 이용, 하드웨어와 소프트웨어 중심의 시스템 모두에서, 암호화와 복호화 속도 측정, 키와 알고리즘 설정 시간, 다양한 공격에 대한 저항성 등과 같은 심도 있는 시험을 거쳤다. 

 그 후, 이들 알고리즘은 새로운 암호화 체계를 깨보고자 자원하는 일부 팀을 포함 세계적인 암호화 단체들에 의해 다시 한번, 자세한 분석이 이루어졌다. 

 그 결과, 2000년 10월 2일에 NIST는 Rijndael를 표준안으로 최종 선정하였다.

 2001년 12월 6일, 미 상무부 장관은 민감하지만 비밀로 분류되지 않은 모든 문서들에 AES로서 Rijndael을 사용할 것을 규정하는 연방 정보처리 표준, 즉 FIPS 197을 공식 승인하였다.










AES 사용하기


자바에서 AES 알고리즘을 적용하여 중요한 데이터를 암호화하고 복호화하는 

것은 아주 쉬운 일이다.


import javax.crypto.Cipher;


import javax.crypto.KeyGenerator;


import javax.crypto.SecretKey;


import javax.crypto.spec.SecretKeySpec;


import org.apache.commons.codec.binary.Hex;


import org.junit.Test;


 


public class AESTest {


 


  private static String sKeyString = "" ;


  private static String message= "This is just an example";


 


  @Test


  public void testAESEncode() throws Exception {


 


    // 1. 128 비트 비밀키 생성


    KeyGenerator kgen = KeyGenerator.getInstance("AES");


    kgen.init(128);


    SecretKey skey = kgen.generateKey();


 


    // 2. 비밀 키를 이렇게 저장하여 사용하면 암호화/복호화가 편해진다.


    sKeyString = Hex.encodeHexString(skey.getEncoded());


 


    // 3. 암호화 수행


    SecretKeySpec skeySpec = new SecretKeySpec(skey.getEncoded(), "AES");


    Cipher cipher = Cipher.getInstance("AES");


    cipher.init(Cipher.ENCRYPT_MODE, skeySpec);


    byte[] encrypted = cipher.doFinal(message.getBytes());


 


    System.out.println("encrypted string: " + Hex.encodeHexString(encrypted));


 


    // 4. 복호화 수행


    cipher.init(Cipher.DECRYPT_MODE, skeySpec);


    byte[] original = cipher.doFinal(encrypted);


    String originalString = new String(original);


    System.out.println("Original string: " + originalString + " " + Hex.encodeHexString(original));


 


  }


}



예제와 같이 비밀키를 문자로 변환하여 저장해놓고 사용하면된다.


참조 : http://samse.tistory.com/entry/java-AES-128


출처 :

http://andang72.blogspot.kr/2012/02/aes.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+blogspot/VHwJi+(%EC%95%88%EB%8B%B9+%EB%B8%94%EB%A1%9C%EA%B7%B8)


같이보기 : AES 알고리즘 애니메이션


이 댓글을 비밀 댓글로